diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /unix/boot/bootlib/index.c | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/boot/bootlib/index.c')
-rw-r--r-- | unix/boot/bootlib/index.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/unix/boot/bootlib/index.c b/unix/boot/bootlib/index.c new file mode 100644 index 00000000..e3387060 --- /dev/null +++ b/unix/boot/bootlib/index.c @@ -0,0 +1,39 @@ +/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + */ + +#include <stdio.h> + +#ifdef LINUX +#define NOINDEX +#endif +#ifdef MACOSX +/* The following effectively disables the local version. */ +#define index strindex +#endif + +/* index and rindex are provided by most systems and are redundantly defined + * here only in case they are missing (we probably should be using the more + * modern strchr etc. but that is another thing). Linux (slackware at least) + * defines these in the same libc.a object module as strchr etc. (this is a + * bug), which causes a library conflict. Hence on Linux systems we omit + * these functions. + */ +#ifndef NOINDEX + +/* INDEX -- Return pointer to the first occurrence of a character in a string, + * or null if the char is not found. + */ +char * +index ( char *str, int ch) +{ + register char *ip; + register int cch; + + for (ip=str; (cch = *ip); ip++) + if (cch == ch) + return (ip); + + return (NULL); +} + +#endif |