Replace index() and rindex() calls with strchr() and strrchr().
The index() and rindex() functions were marked LEGACY in the 2001 revision of POSIX and were subsequently removed from the 2008 revision. The strchr() and strrchr() functions are part of the C standard. This makes the source code a lot more consistent, as most of these C files also call into other str*() routines. In fact, about a dozen already perform strchr() calls.
This commit is contained in:
parent
d106f2fd7c
commit
e7e5b53bf1
@ -683,7 +683,7 @@ all_forts(FILEDESC *fp, char *offensive)
|
||||
obscene->fd = fd;
|
||||
obscene->inf = NULL;
|
||||
obscene->path = offensive;
|
||||
if ((sp = rindex(offensive, '/')) == NULL)
|
||||
if ((sp = strrchr(offensive, '/')) == NULL)
|
||||
obscene->name = offensive;
|
||||
else
|
||||
obscene->name = ++sp;
|
||||
@ -785,7 +785,7 @@ is_fortfile(const char *file, char **datp, char **posp, int check_for_offend)
|
||||
}
|
||||
}
|
||||
|
||||
if ((sp = rindex(file, '/')) == NULL)
|
||||
if ((sp = strrchr(file, '/')) == NULL)
|
||||
sp = file;
|
||||
else
|
||||
sp++;
|
||||
@ -797,7 +797,7 @@ is_fortfile(const char *file, char **datp, char **posp, int check_for_offend)
|
||||
DPRINTF(2, (stderr, "FALSE (check fortunes only)\n"));
|
||||
return (FALSE);
|
||||
}
|
||||
if ((sp = rindex(sp, '.')) != NULL) {
|
||||
if ((sp = strrchr(sp, '.')) != NULL) {
|
||||
sp++;
|
||||
for (i = 0; suflist[i] != NULL; i++)
|
||||
if (strcmp(sp, suflist[i]) == 0) {
|
||||
|
@ -159,7 +159,7 @@ execvPe(const char *name, const char *path, char * const *argv,
|
||||
eacces = 0;
|
||||
|
||||
/* If it's an absolute or relative path name, it's easy. */
|
||||
if (index(name, '/')) {
|
||||
if (strchr(name, '/')) {
|
||||
bp = name;
|
||||
cur = NULL;
|
||||
goto retry;
|
||||
|
@ -78,7 +78,7 @@ getttyent(void)
|
||||
if (!fgets(p = line, lbsize, tf))
|
||||
return (NULL);
|
||||
/* extend buffer if line was too big, and retry */
|
||||
while (!index(p, '\n') && !feof(tf)) {
|
||||
while (!strchr(p, '\n') && !feof(tf)) {
|
||||
i = strlen(p);
|
||||
lbsize += MALLOCCHUNK;
|
||||
if ((p = realloc(line, lbsize)) == NULL) {
|
||||
@ -148,7 +148,7 @@ getttyent(void)
|
||||
tty.ty_comment = p;
|
||||
if (*p == 0)
|
||||
tty.ty_comment = 0;
|
||||
if ( (p = index(p, '\n')) )
|
||||
if ((p = strchr(p, '\n')))
|
||||
*p = '\0';
|
||||
return (&tty);
|
||||
}
|
||||
@ -196,7 +196,7 @@ static char *
|
||||
value(char *p)
|
||||
{
|
||||
|
||||
return ((p = index(p, '=')) ? ++p : NULL);
|
||||
return ((p = strchr(p, '=')) ? ++p : NULL);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -59,7 +59,7 @@ timezone(int zone, int dst)
|
||||
*end;
|
||||
|
||||
if ( (beg = getenv("TZNAME")) ) { /* set in environment */
|
||||
if ( (end = index(beg, ',')) ) {/* "PST,PDT" */
|
||||
if ((end = strchr(beg, ','))) { /* "PST,PDT" */
|
||||
if (dst)
|
||||
return(++end);
|
||||
*end = '\0';
|
||||
|
@ -91,7 +91,7 @@ _gethostbynis(const char *name, char *map, int af, struct hostent *he,
|
||||
free(result);
|
||||
result = (char *)&ypbuf;
|
||||
|
||||
if ((cp = index(result, '\n')))
|
||||
if ((cp = strchr(result, '\n')))
|
||||
*cp = '\0';
|
||||
|
||||
cp = strpbrk(result, " \t");
|
||||
|
@ -80,7 +80,7 @@ _getnetbynis(const char *name, char *map, int af, struct netent *ne,
|
||||
free(result);
|
||||
result = (char *)&ypbuf;
|
||||
|
||||
if ((cp = index(result, '\n')))
|
||||
if ((cp = strchr(result, '\n')))
|
||||
*cp = '\0';
|
||||
|
||||
cp = strpbrk(result, " \t");
|
||||
|
@ -137,7 +137,7 @@ cam_get_device(const char *path, char *dev_name, int devnamelen, int *unit)
|
||||
*/
|
||||
if (*tmpstr == '/') {
|
||||
tmpstr2 = tmpstr;
|
||||
tmpstr = (char *)rindex(tmpstr2, '/');
|
||||
tmpstr = strrchr(tmpstr2, '/');
|
||||
if ((tmpstr != NULL) && (*tmpstr != '\0'))
|
||||
tmpstr++;
|
||||
}
|
||||
|
@ -703,13 +703,13 @@ setenv_(u_char *cp, u_char *ep, struct dhcp_opt *opts)
|
||||
u_char *s = NULL; /* semicolon ? */
|
||||
|
||||
/* skip leading whitespace */
|
||||
while (*endv && index(" \t\n\r", *endv))
|
||||
while (*endv && strchr(" \t\n\r", *endv))
|
||||
endv++;
|
||||
vp = index(endv, '='); /* find name=value separator */
|
||||
vp = strchr(endv, '='); /* find name=value separator */
|
||||
if (!vp)
|
||||
break;
|
||||
*vp++ = 0;
|
||||
if (op->fmt == __ILIST && (s = index(vp, ';')))
|
||||
if (op->fmt == __ILIST && (s = strchr(vp, ';')))
|
||||
*s++ = '\0';
|
||||
setenv(endv, vp, 1);
|
||||
vp = s; /* prepare for next round */
|
||||
|
@ -84,7 +84,7 @@ hasquota(struct fstab *fs, int type, char *qfnamep, int qfbufsize)
|
||||
}
|
||||
strcpy(buf, fs->fs_mntops);
|
||||
for (opt = strtok(buf, ","); opt; opt = strtok(NULL, ",")) {
|
||||
if ((cp = index(opt, '=')))
|
||||
if ((cp = strchr(opt, '=')))
|
||||
*cp++ = '\0';
|
||||
if (type == USRQUOTA && strcmp(opt, usrname) == 0)
|
||||
break;
|
||||
|
@ -114,7 +114,7 @@ grscan(int search, int gid)
|
||||
return(0);
|
||||
bp = line;
|
||||
/* skip lines that are too big */
|
||||
if (!index(line, '\n')) {
|
||||
if (!strchr(line, '\n')) {
|
||||
int ch;
|
||||
|
||||
while ((ch = getc(_gr_fp)) != '\n' && ch != EOF)
|
||||
|
@ -543,16 +543,17 @@ extern char **environ;
|
||||
void
|
||||
setup_term(int fd)
|
||||
{
|
||||
char *cp = index(term+ENVSIZE, '/');
|
||||
char *cp;
|
||||
char *speed;
|
||||
struct termios tt, def;
|
||||
|
||||
cp = strchr(term + ENVSIZE, '/');
|
||||
#ifndef notyet
|
||||
tcgetattr(fd, &tt);
|
||||
if (cp) {
|
||||
*cp++ = '\0';
|
||||
speed = cp;
|
||||
cp = index(speed, '/');
|
||||
cp = strchr(speed, '/');
|
||||
if (cp)
|
||||
*cp++ = '\0';
|
||||
cfsetspeed(&tt, atoi(speed));
|
||||
@ -567,7 +568,7 @@ setup_term(int fd)
|
||||
if (cp) {
|
||||
*cp++ = '\0';
|
||||
speed = cp;
|
||||
cp = index(speed, '/');
|
||||
cp = strchr(speed, '/');
|
||||
if (cp)
|
||||
*cp++ = '\0';
|
||||
tcgetattr(fd, &tt);
|
||||
|
@ -782,12 +782,12 @@ getasciilabel(FILE *f, struct disklabel *lp)
|
||||
lp->d_sbsize = 0; /* XXX */
|
||||
while (fgets(line, sizeof(line) - 1, f)) {
|
||||
lineno++;
|
||||
if ((cp = index(line,'\n')) != 0)
|
||||
if ((cp = strchr(line,'\n')) != 0)
|
||||
*cp = '\0';
|
||||
cp = skip(line);
|
||||
if (cp == NULL)
|
||||
continue;
|
||||
tp = index(cp, ':');
|
||||
tp = strchr(cp, ':');
|
||||
if (tp == NULL) {
|
||||
fprintf(stderr, "line %d: syntax error\n", lineno);
|
||||
errors++;
|
||||
|
@ -290,7 +290,7 @@ main(int argc, char *argv[])
|
||||
tape = strchr(host, ':');
|
||||
*tape++ = '\0';
|
||||
#ifdef RDUMP
|
||||
if (index(tape, '\n')) {
|
||||
if (strchr(tape, '\n')) {
|
||||
(void)fprintf(stderr, "invalid characters in tape\n");
|
||||
exit(X_STARTUP);
|
||||
}
|
||||
|
@ -613,7 +613,7 @@ fix_extraneous(struct inoinfo *inp, struct inodesc *idesc)
|
||||
printf(" (IGNORED)\n");
|
||||
return (0);
|
||||
}
|
||||
if ((cp = rindex(oldname, '/')) == NULL) {
|
||||
if ((cp = strchr(oldname, '/')) == NULL) {
|
||||
printf(" (IGNORED)\n");
|
||||
return (0);
|
||||
}
|
||||
|
@ -122,9 +122,9 @@ ipfw_main(int oldac, char **oldav)
|
||||
break;
|
||||
if (copy) {
|
||||
arg[j++] = arg[i];
|
||||
copy = !index("," WHITESP, arg[i]);
|
||||
copy = !strchr("," WHITESP, arg[i]);
|
||||
} else {
|
||||
copy = !index(WHITESP, arg[i]);
|
||||
copy = !strchr(WHITESP, arg[i]);
|
||||
if (copy)
|
||||
arg[j++] = arg[i];
|
||||
}
|
||||
@ -141,7 +141,7 @@ ipfw_main(int oldac, char **oldav)
|
||||
* processing, this is just the number of blanks plus 1.
|
||||
*/
|
||||
for (i = 0, ac = 1; i < l; i++)
|
||||
if (index(WHITESP, arg[i]) != NULL)
|
||||
if (strchr(WHITESP, arg[i]) != NULL)
|
||||
ac++;
|
||||
|
||||
/*
|
||||
@ -162,7 +162,7 @@ ipfw_main(int oldac, char **oldav)
|
||||
*/
|
||||
av_p = (char *)&av[ac+1];
|
||||
for (ac = 1, i = j = 0; i < l; i++) {
|
||||
if (index(WHITESP, arg[i]) != NULL || i == l-1) {
|
||||
if (strchr(WHITESP, arg[i]) != NULL || i == l-1) {
|
||||
if (i == l-1)
|
||||
i++;
|
||||
bcopy(arg+j, av_p, i-j);
|
||||
@ -240,7 +240,7 @@ ipfw_main(int oldac, char **oldav)
|
||||
" ipfw sysctl -a\n");
|
||||
return 0;
|
||||
}
|
||||
s = index(av[2], '=');
|
||||
s = strchr(av[2], '=');
|
||||
if (s == NULL) {
|
||||
s = !strcmp(av[2], "-a") ? NULL : av[2];
|
||||
sysctlbyname(s, NULL, NULL, NULL, 0);
|
||||
|
@ -123,7 +123,7 @@ main(int argc, char **argv)
|
||||
* Test for the special case where the utility is called as
|
||||
* "poweroff", for which it runs 'shutdown -p now'.
|
||||
*/
|
||||
if ((p = rindex(argv[0], '/')) == NULL)
|
||||
if ((p = strrchr(argv[0], '/')) == NULL)
|
||||
p = argv[0];
|
||||
else
|
||||
++p;
|
||||
|
@ -137,7 +137,7 @@ parse(int *argc, char ***argv, char *str)
|
||||
|
||||
case VAR:
|
||||
if (token) {
|
||||
PARSE_FAIL((q = index(p, token)) == NULL);
|
||||
PARSE_FAIL((q = strchr(p, token)) == NULL);
|
||||
} else {
|
||||
q = p;
|
||||
while (*q && !isspace(*q))
|
||||
|
@ -133,7 +133,7 @@ main(int (*openfirm)(void *))
|
||||
printf("Memory: %lldKB\n", memsize() / 1024);
|
||||
|
||||
OF_getprop(chosen, "bootpath", bootpath, 64);
|
||||
ch = index(bootpath, ':');
|
||||
ch = strchr(bootpath, ':');
|
||||
*ch = '\0';
|
||||
printf("Booted from: %s\n", bootpath);
|
||||
|
||||
|
@ -185,7 +185,7 @@ ofwn_init(struct iodesc *desc, void *machdep_hint)
|
||||
int pathlen;
|
||||
|
||||
pathlen = OF_getprop(chosen, "bootpath", path, 64);
|
||||
if ((ch = index(path, ':')) != NULL)
|
||||
if ((ch = strchr(path, ':')) != NULL)
|
||||
*ch = '\0';
|
||||
netdev = OF_finddevice(path);
|
||||
#ifdef __sparc64__
|
||||
|
@ -68,7 +68,7 @@ main(int argc, char **argv)
|
||||
int (*cfncn)(int, uint32_t *, off_t *);
|
||||
void (*pfncn)(char *, uint32_t, off_t);
|
||||
|
||||
if ((p = rindex(argv[0], '/')) == NULL)
|
||||
if ((p = strrchr(argv[0], '/')) == NULL)
|
||||
p = argv[0];
|
||||
else
|
||||
++p;
|
||||
|
@ -75,7 +75,7 @@ main(int argc, char *argv[])
|
||||
char *p, newname[MAXPATHLEN];
|
||||
|
||||
cat = 0;
|
||||
if ((p = rindex(argv[0], '/')) == NULL)
|
||||
if ((p = strrchr(argv[0], '/')) == NULL)
|
||||
p = argv[0];
|
||||
else
|
||||
++p;
|
||||
@ -141,7 +141,7 @@ main(int argc, char *argv[])
|
||||
compress(*argv, "/dev/stdout", bits);
|
||||
break;
|
||||
}
|
||||
if ((p = rindex(*argv, '.')) != NULL &&
|
||||
if ((p = strrchr(*argv, '.')) != NULL &&
|
||||
!strcmp(p, ".Z")) {
|
||||
cwarnx("%s: name already has trailing .Z",
|
||||
*argv);
|
||||
@ -164,7 +164,7 @@ main(int argc, char *argv[])
|
||||
break;
|
||||
}
|
||||
len = strlen(*argv);
|
||||
if ((p = rindex(*argv, '.')) == NULL ||
|
||||
if ((p = strrchr(*argv, '.')) == NULL ||
|
||||
strcmp(p, ".Z")) {
|
||||
if (len > sizeof(newname) - 3) {
|
||||
cwarnx("%s: name too long", *argv);
|
||||
|
@ -287,7 +287,7 @@ userlist(int argc, char **argv)
|
||||
|
||||
/* Pull out all network requests. */
|
||||
for (ap = p = argv, np = nargv; *p; ++p)
|
||||
if (index(*p, '@'))
|
||||
if (strchr(*p, '@'))
|
||||
*np++ = *p;
|
||||
else
|
||||
*ap++ = *p;
|
||||
|
@ -220,7 +220,7 @@ bpad(PR *pr)
|
||||
pr->cchar[0] = 's';
|
||||
pr->cchar[1] = '\0';
|
||||
for (p1 = pr->fmt; *p1 != '%'; ++p1);
|
||||
for (p2 = ++p1; *p1 && index(spec, *p1); ++p1);
|
||||
for (p2 = ++p1; *p1 && strchr(spec, *p1); ++p1);
|
||||
while ((*p2++ = *p1++));
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ main(int argc, char *argv[])
|
||||
|
||||
(void)setlocale(LC_ALL, "");
|
||||
|
||||
if (!(p = rindex(argv[0], 'o')) || strcmp(p, "od"))
|
||||
if (!(p = strrchr(argv[0], 'o')) || strcmp(p, "od"))
|
||||
newsyntax(argc, &argv);
|
||||
else
|
||||
oldsyntax(argc, &argv);
|
||||
|
@ -54,7 +54,7 @@ newsyntax(int argc, char ***argvp)
|
||||
char *p, **argv;
|
||||
|
||||
argv = *argvp;
|
||||
if ((p = rindex(argv[0], 'h')) != NULL &&
|
||||
if ((p = strrchr(argv[0], 'h')) != NULL &&
|
||||
strcmp(p, "hd") == 0) {
|
||||
/* "Canonical" format, implies -C. */
|
||||
add("\"%08.8_Ax\n\"");
|
||||
|
@ -58,7 +58,7 @@ addfile(char *name)
|
||||
if ((fp = fopen(name, "r")) == NULL)
|
||||
err(1, "%s", name);
|
||||
while (fgets(buf, sizeof(buf), fp)) {
|
||||
if (!(p = index(buf, '\n'))) {
|
||||
if (!(p = strchr(buf, '\n'))) {
|
||||
warnx("line too long");
|
||||
while ((ch = getchar()) != '\n' && ch != EOF);
|
||||
continue;
|
||||
@ -167,7 +167,7 @@ size(FS *fs)
|
||||
* skip any special chars -- save precision in
|
||||
* case it's a %s format.
|
||||
*/
|
||||
while (index(spec + 1, *++fmt));
|
||||
while (strchr(spec + 1, *++fmt));
|
||||
if (*fmt == '.' && isdigit(*++fmt)) {
|
||||
prec = atoi(fmt);
|
||||
while (isdigit(*++fmt));
|
||||
@ -243,10 +243,10 @@ rewrite(FS *fs)
|
||||
if (fu->bcnt) {
|
||||
sokay = USEBCNT;
|
||||
/* Skip to conversion character. */
|
||||
for (++p1; index(spec, *p1); ++p1);
|
||||
for (++p1; strchr(spec, *p1); ++p1);
|
||||
} else {
|
||||
/* Skip any special chars, field width. */
|
||||
while (index(spec + 1, *++p1));
|
||||
while (strchr(spec + 1, *++p1));
|
||||
if (*p1 == '.' && isdigit(*++p1)) {
|
||||
sokay = USEPREC;
|
||||
prec = atoi(p1);
|
||||
|
@ -167,7 +167,7 @@ fastfind
|
||||
|
||||
/* find optimal (last) char for searching */
|
||||
for (p = pathpart; *p != '\0'; p++)
|
||||
if (index(LOCATE_REG, *p) != NULL)
|
||||
if (strchr(LOCATE_REG, *p) != NULL)
|
||||
break;
|
||||
|
||||
if (*p == '\0')
|
||||
|
@ -162,7 +162,7 @@ patprep(name)
|
||||
|
||||
/* skip trailing metacharacters */
|
||||
for (; p >= name; p--)
|
||||
if (index(LOCATE_REG, *p) == NULL)
|
||||
if (strchr(LOCATE_REG, *p) == NULL)
|
||||
break;
|
||||
|
||||
/*
|
||||
@ -172,7 +172,7 @@ patprep(name)
|
||||
* |----< p
|
||||
*/
|
||||
if (p >= name &&
|
||||
(index(p, '[') != NULL || index(p, ']') != NULL)) {
|
||||
(strchr(p, '[') != NULL || strchr(p, ']') != NULL)) {
|
||||
for (p = name; *p != '\0'; p++)
|
||||
if (*p == ']' || *p == '[')
|
||||
break;
|
||||
@ -183,7 +183,7 @@ patprep(name)
|
||||
* '*\*[a-z]'
|
||||
* |-------< p
|
||||
*/
|
||||
if (p >= name && index(LOCATE_REG, *p) != NULL)
|
||||
if (p >= name && strchr(LOCATE_REG, *p) != NULL)
|
||||
p = name - 1;
|
||||
}
|
||||
|
||||
@ -193,7 +193,7 @@ patprep(name)
|
||||
|
||||
else {
|
||||
for (endmark = p; p >= name; p--)
|
||||
if (index(LOCATE_REG, *p) != NULL)
|
||||
if (strchr(LOCATE_REG, *p) != NULL)
|
||||
break;
|
||||
for (++p;
|
||||
(p <= endmark) && subp < (globfree + sizeof(globfree));)
|
||||
|
@ -256,7 +256,7 @@ intpr(int interval1, u_long ifnetaddr, void (*pfunc)(char *))
|
||||
ifnetaddr = (u_long)TAILQ_NEXT(&ifnet, if_link);
|
||||
if (interface != 0 && strcmp(name, interface) != 0)
|
||||
continue;
|
||||
cp = index(name, '\0');
|
||||
cp = strchr(name, '\0');
|
||||
|
||||
if (pfunc) {
|
||||
(*pfunc)(name);
|
||||
|
@ -1247,7 +1247,7 @@ inetprint(struct in_addr *in, int port, const char *proto, int num_port)
|
||||
sprintf(line, "%s.", inetname(in));
|
||||
else
|
||||
sprintf(line, "%.*s.", (Aflag && !num_port) ? 12 : 16, inetname(in));
|
||||
cp = index(line, '\0');
|
||||
cp = strchr(line, '\0');
|
||||
if (!num_port && port)
|
||||
sp = getservbyport((int)port, proto);
|
||||
if (sp || port == 0)
|
||||
|
@ -1100,7 +1100,7 @@ inet6print(struct in6_addr *in6, int port, const char *proto, int numeric)
|
||||
|
||||
sprintf(line, "%.*s.", Wflag ? 39 :
|
||||
(Aflag && !numeric) ? 12 : 16, inet6name(in6));
|
||||
cp = index(line, '\0');
|
||||
cp = strchr(line, '\0');
|
||||
if (!numeric && port)
|
||||
GETSERVBYPORT6(port, proto, sp);
|
||||
if (sp || port == 0)
|
||||
@ -1129,7 +1129,7 @@ inet6name(struct in6_addr *in6p)
|
||||
if (first && !numeric_addr) {
|
||||
first = 0;
|
||||
if (gethostname(domain, MAXHOSTNAMELEN) == 0 &&
|
||||
(cp = index(domain, '.')))
|
||||
(cp = strchr(domain, '.')))
|
||||
(void) strcpy(domain, cp + 1);
|
||||
else
|
||||
domain[0] = 0;
|
||||
@ -1138,7 +1138,7 @@ inet6name(struct in6_addr *in6p)
|
||||
if (!numeric_addr && !IN6_IS_ADDR_UNSPECIFIED(in6p)) {
|
||||
hp = gethostbyaddr((char *)in6p, sizeof(*in6p), AF_INET6);
|
||||
if (hp) {
|
||||
if ((cp = index(hp->h_name, '.')) &&
|
||||
if ((cp = strchr(hp->h_name, '.')) &&
|
||||
!strcmp(cp + 1, domain))
|
||||
*cp = 0;
|
||||
cp = hp->h_name;
|
||||
|
@ -162,7 +162,7 @@ inet6name(struct in6_addr *in6p)
|
||||
if (first && !numeric_addr) {
|
||||
first = 0;
|
||||
if (gethostname(domain, MAXHOSTNAMELEN) == 0 &&
|
||||
(cp = index(domain, '.')))
|
||||
(cp = strchr(domain, '.')))
|
||||
(void) strcpy(domain, cp + 1);
|
||||
else
|
||||
domain[0] = 0;
|
||||
@ -171,7 +171,7 @@ inet6name(struct in6_addr *in6p)
|
||||
if (!numeric_addr && !IN6_IS_ADDR_UNSPECIFIED(in6p)) {
|
||||
hp = gethostbyaddr((char *)in6p, sizeof(*in6p), AF_INET6);
|
||||
if (hp) {
|
||||
if ((cp = index(hp->h_name, '.')) &&
|
||||
if ((cp = strchr(hp->h_name, '.')) &&
|
||||
!strcmp(cp + 1, domain))
|
||||
*cp = 0;
|
||||
cp = hp->h_name;
|
||||
@ -209,7 +209,7 @@ sctp_print_address(union sctp_sockstore *address, int port, int num_port)
|
||||
sprintf(line, "%.*s.", Wflag ? 39 : 16, "");
|
||||
break;
|
||||
}
|
||||
cp = index(line, '\0');
|
||||
cp = strchr(line, '\0');
|
||||
if (!num_port && port)
|
||||
sp = getservbyport((int)port, "sctp");
|
||||
if (sp || port == 0)
|
||||
|
@ -142,7 +142,7 @@ main(int argc, char *argv[])
|
||||
one = 1;
|
||||
host = localname = user = NULL;
|
||||
|
||||
if ((p = rindex(argv[0], '/')))
|
||||
if ((p = strrchr(argv[0], '/')))
|
||||
++p;
|
||||
else
|
||||
p = argv[0];
|
||||
|
@ -64,10 +64,6 @@ static void clnt_output(const char *, const char *, int, const char * );
|
||||
static char *generate_guard(const char *);
|
||||
static void c_initialize(void);
|
||||
|
||||
#if !defined(__FreeBSD__) && !defined(__NetBSD__)
|
||||
char * rindex();
|
||||
#endif
|
||||
|
||||
static void usage(void);
|
||||
static void options_usage(void);
|
||||
static int do_registers(int, const char **);
|
||||
@ -233,7 +229,7 @@ extendfile(const char *path, const char *ext)
|
||||
const char *p;
|
||||
const char *file;
|
||||
|
||||
if ((file = rindex(path, '/')) == NULL)
|
||||
if ((file = strrchr(path, '/')) == NULL)
|
||||
file = path;
|
||||
else
|
||||
file++;
|
||||
@ -821,7 +817,7 @@ static void mkfile_output(struct commandline *cmd)
|
||||
if (allfiles){
|
||||
mkftemp = xmalloc(strlen("makefile.") +
|
||||
strlen(cmd->infile) + 1);
|
||||
temp = (char *)rindex(cmd->infile, '.');
|
||||
temp = strrchr(cmd->infile, '.');
|
||||
strcpy(mkftemp, "makefile.");
|
||||
(void) strncat(mkftemp, cmd->infile,
|
||||
(temp - cmd->infile));
|
||||
|
@ -265,7 +265,7 @@ dsselect(const char *args, devstat_select_mode select_mode, int maxshowdevs,
|
||||
specified_devices = (char **)malloc(sizeof(char *));
|
||||
|
||||
tmpstr = tmpstr1 = strdup(args);
|
||||
cp = index(tmpstr1, '\n');
|
||||
cp = strchr(tmpstr1, '\n');
|
||||
if (cp)
|
||||
*cp = '\0';
|
||||
for (;;) {
|
||||
|
@ -131,7 +131,7 @@ changeitems(const char *args, int onoff)
|
||||
struct in_addr in;
|
||||
|
||||
tmpstr = tmpstr1 = strdup(args);
|
||||
cp = index(tmpstr1, '\n');
|
||||
cp = strchr(tmpstr1, '\n');
|
||||
if (cp)
|
||||
*cp = '\0';
|
||||
for (;;tmpstr1 = cp) {
|
||||
|
@ -554,7 +554,7 @@ inetprint(struct sockaddr *sa, const char *proto)
|
||||
break;
|
||||
}
|
||||
snprintf(line, sizeof(line), "%.*s.", 16, inetname(sa));
|
||||
cp = index(line, '\0');
|
||||
cp = strchr(line, '\0');
|
||||
if (!nflag && port)
|
||||
sp = getservbyport(port, proto);
|
||||
if (sp || port == 0)
|
||||
@ -564,7 +564,7 @@ inetprint(struct sockaddr *sa, const char *proto)
|
||||
snprintf(cp, sizeof(line) - (cp - line), "%d",
|
||||
ntohs((u_short)port));
|
||||
/* pad to full column to clear any garbage */
|
||||
cp = index(line, '\0');
|
||||
cp = strchr(line, '\0');
|
||||
while (cp - line < 22)
|
||||
*cp++ = ' ';
|
||||
line[22] = '\0';
|
||||
|
@ -437,16 +437,16 @@ put(int argc, char *argv[])
|
||||
return;
|
||||
}
|
||||
targ = argv[argc - 1];
|
||||
if (rindex(argv[argc - 1], ':')) {
|
||||
if (strrchr(argv[argc - 1], ':')) {
|
||||
char *lcp;
|
||||
|
||||
for (n = 1; n < argc - 1; n++)
|
||||
if (index(argv[n], ':')) {
|
||||
if (strchr(argv[n], ':')) {
|
||||
putusage(argv[0]);
|
||||
return;
|
||||
}
|
||||
lcp = argv[argc - 1];
|
||||
targ = rindex(lcp, ':');
|
||||
targ = strrchr(lcp, ':');
|
||||
*targ++ = 0;
|
||||
if (lcp[0] == '[' && lcp[strlen(lcp) - 1] == ']') {
|
||||
lcp[strlen(lcp) - 1] = '\0';
|
||||
@ -477,7 +477,7 @@ put(int argc, char *argv[])
|
||||
}
|
||||
/* this assumes the target is a directory */
|
||||
/* on a remote unix system. hmmmm. */
|
||||
cp = index(targ, '\0');
|
||||
cp = strchr(targ, '\0');
|
||||
*cp++ = '/';
|
||||
for (n = 1; n < argc - 1; n++) {
|
||||
strcpy(cp, tail(argv[n]));
|
||||
@ -532,7 +532,7 @@ get(int argc, char *argv[])
|
||||
}
|
||||
if (!connected) {
|
||||
for (n = 1; n < argc ; n++)
|
||||
if (rindex(argv[n], ':') == 0) {
|
||||
if (strrchr(argv[n], ':') == 0) {
|
||||
printf("No remote host specified and "
|
||||
"no host given for file '%s'\n", argv[n]);
|
||||
getusage(argv[0]);
|
||||
@ -540,7 +540,7 @@ get(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
for (n = 1; n < argc ; n++) {
|
||||
src = rindex(argv[n], ':');
|
||||
src = strrchr(argv[n], ':');
|
||||
if (src == NULL)
|
||||
src = argv[n];
|
||||
else {
|
||||
@ -681,7 +681,7 @@ tail(char *filename)
|
||||
char *s;
|
||||
|
||||
while (*filename) {
|
||||
s = rindex(filename, '/');
|
||||
s = strrchr(filename, '/');
|
||||
if (s == NULL)
|
||||
break;
|
||||
if (s[1])
|
||||
|
@ -161,7 +161,7 @@ bracket(STR *s)
|
||||
repeat:
|
||||
if ((p = strpbrk(s->str + 2, "*]")) == NULL)
|
||||
return (0);
|
||||
if (p[0] != '*' || index(p, ']') == NULL)
|
||||
if (p[0] != '*' || strchr(p, ']') == NULL)
|
||||
return (0);
|
||||
s->str += 1;
|
||||
genseq(s);
|
||||
|
@ -132,7 +132,7 @@ next: if (*arg == ':') {
|
||||
goto badmopt;
|
||||
++arg;
|
||||
} else { /* Optional baudrate. */
|
||||
arg = index(p = arg, ':');
|
||||
arg = strchr(p = arg, ':');
|
||||
if (arg == NULL)
|
||||
goto badmopt;
|
||||
*arg++ = '\0';
|
||||
|
@ -74,7 +74,7 @@ get_termcap_entry(char *userarg, char **tcapbufp)
|
||||
|
||||
/* Try ttyname(3); check for dialup or other mapping. */
|
||||
if ((ttypath = ttyname(STDERR_FILENO))) {
|
||||
if ((p = rindex(ttypath, '/')))
|
||||
if ((p = strrchr(ttypath, '/')))
|
||||
++p;
|
||||
else
|
||||
p = ttypath;
|
||||
@ -146,7 +146,7 @@ askuser(const char *dflt)
|
||||
return (dflt);
|
||||
}
|
||||
|
||||
if ((p = index(answer, '\n')))
|
||||
if ((p = strchr(answer, '\n')))
|
||||
*p = '\0';
|
||||
if (answer[0])
|
||||
return (answer);
|
||||
|
@ -56,7 +56,7 @@ wrtermcap(char *bp)
|
||||
char *t, *sep;
|
||||
|
||||
/* Find the end of the terminal names. */
|
||||
if ((t = index(bp, ':')) == NULL)
|
||||
if ((t = strchr(bp, ':')) == NULL)
|
||||
errx(1, "termcap names not colon terminated");
|
||||
*t++ = '\0';
|
||||
|
||||
|
@ -114,7 +114,7 @@ bp_getfile_res *
|
||||
bp_getfile_arg *getfile;
|
||||
struct svc_req *req;
|
||||
{
|
||||
char *where, *index();
|
||||
char *where;
|
||||
static bp_getfile_res res;
|
||||
|
||||
if (debug)
|
||||
@ -133,7 +133,7 @@ struct svc_req *req;
|
||||
askname[sizeof(askname)-1] = 0;
|
||||
|
||||
if (getthefile(askname, getfile->file_id,buffer,sizeof(buffer))) {
|
||||
if ( (where = index(buffer,':')) ) {
|
||||
if ( (where = strchr(buffer,':')) ) {
|
||||
/* buffer is re-written to contain the name of the info of file */
|
||||
strncpy(hostname, buffer, where - buffer);
|
||||
hostname[where - buffer] = '\0';
|
||||
|
@ -626,7 +626,7 @@ remember(const char *file)
|
||||
else
|
||||
s = ns(file);
|
||||
|
||||
if (index(s, '_') && strncmp(s, "opt_", 4) != 0) {
|
||||
if (strchr(s, '_') && strncmp(s, "opt_", 4) != 0) {
|
||||
free(s);
|
||||
return;
|
||||
}
|
||||
|
@ -206,12 +206,12 @@ makehints(void)
|
||||
err(1, "%s", hint->hint_name);
|
||||
while (fgets(line, BUFSIZ, ifp) != 0) {
|
||||
/* zap trailing CR and/or LF */
|
||||
while ((s = rindex(line, '\n')) != NULL)
|
||||
while ((s = strrchr(line, '\n')) != NULL)
|
||||
*s = '\0';
|
||||
while ((s = rindex(line, '\r')) != NULL)
|
||||
while ((s = strrchr(line, '\r')) != NULL)
|
||||
*s = '\0';
|
||||
/* remove # comments */
|
||||
s = index(line, '#');
|
||||
s = strchr(line, '#');
|
||||
if (s)
|
||||
*s = '\0';
|
||||
/* remove any whitespace and " characters */
|
||||
@ -268,12 +268,12 @@ makeenv(void)
|
||||
if (ifp) {
|
||||
while (fgets(line, BUFSIZ, ifp) != 0) {
|
||||
/* zap trailing CR and/or LF */
|
||||
while ((s = rindex(line, '\n')) != NULL)
|
||||
while ((s = strrchr(line, '\n')) != NULL)
|
||||
*s = '\0';
|
||||
while ((s = rindex(line, '\r')) != NULL)
|
||||
while ((s = strrchr(line, '\r')) != NULL)
|
||||
*s = '\0';
|
||||
/* remove # comments */
|
||||
s = index(line, '#');
|
||||
s = strchr(line, '#');
|
||||
if (s)
|
||||
*s = '\0';
|
||||
/* remove any whitespace and " characters */
|
||||
@ -689,7 +689,7 @@ tail(char *fn)
|
||||
{
|
||||
char *cp;
|
||||
|
||||
cp = rindex(fn, '/');
|
||||
cp = strrchr(fn, '/');
|
||||
if (cp == 0)
|
||||
return (fn);
|
||||
return (cp+1);
|
||||
|
@ -1764,7 +1764,7 @@ getconfigent(void)
|
||||
sep->se_rpc_lowvers = 0;
|
||||
memcpy(&sep->se_ctrladdr4, bind_sa4,
|
||||
sizeof(sep->se_ctrladdr4));
|
||||
if ((versp = rindex(sep->se_service, '/'))) {
|
||||
if ((versp = strrchr(sep->se_service, '/'))) {
|
||||
*versp++ = '\0';
|
||||
switch (sscanf(versp, "%u-%u",
|
||||
&sep->se_rpc_lowvers,
|
||||
@ -1936,7 +1936,7 @@ getconfigent(void)
|
||||
} else
|
||||
sep->se_group = NULL;
|
||||
sep->se_server = newstr(sskip(&cp));
|
||||
if ((sep->se_server_name = rindex(sep->se_server, '/')))
|
||||
if ((sep->se_server_name = strrchr(sep->se_server, '/')))
|
||||
sep->se_server_name++;
|
||||
if (strcmp(sep->se_server, "internal") == 0) {
|
||||
struct biltin *bi;
|
||||
|
@ -87,7 +87,7 @@ okay(int pn)
|
||||
char *p, numbuf[80];
|
||||
|
||||
if (pidfile[0] == '\0') {
|
||||
p = rindex(prog, '/');
|
||||
p = strrchr(prog, '/');
|
||||
p = (p == NULL) ? prog : p + 1;
|
||||
|
||||
snprintf(pidfile, sizeof pidfile,
|
||||
|
@ -73,7 +73,7 @@ mtree_readspec(FILE *fi)
|
||||
continue;
|
||||
|
||||
/* Find end of line. */
|
||||
if ((p = index(buf, '\n')) == NULL)
|
||||
if ((p = strchr(buf, '\n')) == NULL)
|
||||
errx(1, "line %d too long", lineno);
|
||||
|
||||
/* See if next line is continuation line. */
|
||||
@ -118,7 +118,7 @@ mtree_readspec(FILE *fi)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (index(p, '/'))
|
||||
if (strchr(p, '/'))
|
||||
errx(1, "line %d: slash character in file name",
|
||||
lineno);
|
||||
|
||||
|
@ -1710,7 +1710,7 @@ do_rotate(const struct conf_entry *ent)
|
||||
} else { /* relative */
|
||||
/* get directory part of logfile */
|
||||
strlcpy(dirpart, ent->log, sizeof(dirpart));
|
||||
if ((p = rindex(dirpart, '/')) == NULL)
|
||||
if ((p = strrchr(dirpart, '/')) == NULL)
|
||||
dirpart[0] = '\0';
|
||||
else
|
||||
*(p + 1) = '\0';
|
||||
@ -1722,7 +1722,7 @@ do_rotate(const struct conf_entry *ent)
|
||||
createdir(ent, dirpart);
|
||||
|
||||
/* get filename part of logfile */
|
||||
if ((p = rindex(ent->log, '/')) == NULL)
|
||||
if ((p = strrchr(ent->log, '/')) == NULL)
|
||||
strlcpy(namepart, ent->log, sizeof(namepart));
|
||||
else
|
||||
strlcpy(namepart, p + 1, sizeof(namepart));
|
||||
@ -2255,7 +2255,7 @@ age_old_log(char *file)
|
||||
} else { /* relative */
|
||||
/* get directory part of logfile */
|
||||
strlcpy(tmp, file, sizeof(tmp));
|
||||
if ((p = rindex(tmp, '/')) == NULL)
|
||||
if ((p = strrchr(tmp, '/')) == NULL)
|
||||
tmp[0] = '\0';
|
||||
else
|
||||
*(p + 1) = '\0';
|
||||
@ -2265,7 +2265,7 @@ age_old_log(char *file)
|
||||
strlcat(tmp, "/", sizeof(tmp));
|
||||
|
||||
/* get filename part of logfile */
|
||||
if ((p = rindex(file, '/')) == NULL)
|
||||
if ((p = strrchr(file, '/')) == NULL)
|
||||
strlcat(tmp, file, sizeof(tmp));
|
||||
else
|
||||
strlcat(tmp, p + 1, sizeof(tmp));
|
||||
|
@ -227,7 +227,7 @@ main(int argc, char *argv[])
|
||||
syslog(LOG_ERR, "gethostname: %m");
|
||||
exit(1);
|
||||
}
|
||||
if ((cp = index(myname, '.')) != NULL)
|
||||
if ((cp = strchr(myname, '.')) != NULL)
|
||||
*cp = '\0';
|
||||
strncpy(mywd.wd_hostname, myname, sizeof(mywd.wd_hostname) - 1);
|
||||
mywd.wd_hostname[sizeof(mywd.wd_hostname) - 1] = '\0';
|
||||
|
@ -83,7 +83,7 @@ variable_set(char *var, int dirty)
|
||||
else if (!*var)
|
||||
msgDebug("Warning: Zero length name & value passed to variable_set()\n");
|
||||
SAFE_STRCPY(tmp, var);
|
||||
if ((cp = index(tmp, '=')) == NULL)
|
||||
if ((cp = strchr(tmp, '=')) == NULL)
|
||||
msgFatal("Invalid variable format: %s", var);
|
||||
*(cp++) = '\0';
|
||||
make_variable(tmp, string_skipwhite(cp), dirty);
|
||||
@ -123,7 +123,7 @@ variable_unset(char *var)
|
||||
Variable *vp;
|
||||
char name[512], *cp;
|
||||
|
||||
if ((cp = index(var, '=')) != NULL)
|
||||
if ((cp = strchr(var, '=')) != NULL)
|
||||
sstrncpy(name, var, cp - var);
|
||||
else
|
||||
SAFE_STRCPY(name, var);
|
||||
@ -189,14 +189,14 @@ variable_check2(char *data)
|
||||
if (data == NULL)
|
||||
return -1;
|
||||
SAFE_STRCPY(tmp, data);
|
||||
if ((cp = index(tmp, '=')) != NULL) {
|
||||
if ((cp = strchr(tmp, '=')) != NULL) {
|
||||
*(cp++) = '\0';
|
||||
if (*cp == '"') { /* smash quotes if present */
|
||||
++cp;
|
||||
if ((cp3 = index(cp, '"')) != NULL)
|
||||
if ((cp3 = strchr(cp, '"')) != NULL)
|
||||
*cp3 = '\0';
|
||||
}
|
||||
else if ((cp3 = index(cp, ',')) != NULL)
|
||||
else if ((cp3 = strchr(cp, ',')) != NULL)
|
||||
*cp3 = '\0';
|
||||
cp2 = variable_get(tmp);
|
||||
if (cp2 != NULL) {
|
||||
@ -305,7 +305,7 @@ pvariable_set(char *var)
|
||||
msgDebug("Warning: Zero length name & value passed to variable_set()\n");
|
||||
/* Add a trivial namespace to whatever name the caller chooses. */
|
||||
SAFE_STRCPY(tmp, "SYSINSTALL_PVAR");
|
||||
if (index(var, '=') == NULL)
|
||||
if (strchr(var, '=') == NULL)
|
||||
msgFatal("Invalid variable format: %s", var);
|
||||
strlcat(tmp, var, 1024);
|
||||
p = strchr(tmp, '=');
|
||||
|
Loading…
Reference in New Issue
Block a user