Use strchr() and strrchr().
It seems strchr() and strrchr() are used more often than index() and rindex(). Therefore, simply migrate all kernel code to use it. For the XFS code, remove an empty line to make the code identical to the code in the Linux kernel.
This commit is contained in:
parent
762ad1d614
commit
dc15eac046
@ -253,7 +253,7 @@ db_inputchar(c)
|
||||
db_putnchars(BACKUP, db_lc - db_lbuf_start);
|
||||
db_putnchars(BLANK, db_le - db_lbuf_start);
|
||||
db_putnchars(BACKUP, db_le - db_lbuf_start);
|
||||
db_le = index(db_lbuf_start, '\0');
|
||||
db_le = strchr(db_lbuf_start, '\0');
|
||||
if (db_le[-1] == '\r' || db_le[-1] == '\n')
|
||||
*--db_le = '\0';
|
||||
db_lc = db_le;
|
||||
|
@ -532,8 +532,8 @@ ad_describe(device_t dev)
|
||||
u_int8_t *marker, vendor[64], product[64];
|
||||
|
||||
/* try to separate the ATA model string into vendor and model parts */
|
||||
if ((marker = index(atadev->param.model, ' ')) ||
|
||||
(marker = index(atadev->param.model, '-'))) {
|
||||
if ((marker = strchr(atadev->param.model, ' ')) ||
|
||||
(marker = strchr(atadev->param.model, '-'))) {
|
||||
int len = (marker - atadev->param.model);
|
||||
|
||||
strncpy(vendor, atadev->param.model, len);
|
||||
|
@ -2827,7 +2827,7 @@ mxge_media_init(mxge_softc_t *sc)
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++, ptr++) {
|
||||
ptr = index(ptr, '-');
|
||||
ptr = strchr(ptr, '-');
|
||||
if (ptr == NULL) {
|
||||
device_printf(sc->dev,
|
||||
"only %d dashes in PC?!?\n", i);
|
||||
|
@ -71,7 +71,7 @@ uart_cpu_channel(char *dev)
|
||||
if ((aliases = OF_finddevice("/aliases")) != -1)
|
||||
(void)OF_getprop(aliases, dev, alias, sizeof(alias));
|
||||
len = strlen(alias);
|
||||
if ((p = rindex(alias, ':')) == NULL)
|
||||
if ((p = strrchr(alias, ':')) == NULL)
|
||||
return (0);
|
||||
p++;
|
||||
if (p - alias == len - 1 && (*p == 'a' || *p == 'b'))
|
||||
|
@ -712,7 +712,7 @@ MALLOC_DECLARE(M_NEWNFSDROLLBACK);
|
||||
/*
|
||||
* Set this macro to index() or strchr(), whichever is supported.
|
||||
*/
|
||||
#define STRCHR(s, c) index((s), (c))
|
||||
#define STRCHR(s, c) strchr((s), (c))
|
||||
|
||||
/*
|
||||
* Set the n_time in the client write rpc, as required.
|
||||
|
@ -206,10 +206,10 @@ static int nwfs_mount(struct mount *mp)
|
||||
pe = pc+sizeof(mp->mnt_stat.f_mntfromname);
|
||||
bzero(pc, MNAMELEN);
|
||||
*(pc++) = '/';
|
||||
pc = index(strncpy(pc, conn->li.server, pe-pc-2),0);
|
||||
pc = strchr(strncpy(pc, conn->li.server, pe - pc - 2), 0);
|
||||
if (pc < pe-1) {
|
||||
*(pc++) = ':';
|
||||
pc=index(strncpy(pc, conn->li.user, pe-pc-2),0);
|
||||
pc = strchr(strncpy(pc, conn->li.user, pe - pc - 2), 0);
|
||||
if (pc < pe-1) {
|
||||
*(pc++) = '/';
|
||||
strncpy(pc, nmp->m.mounted_vol, pe-pc-2);
|
||||
|
@ -234,10 +234,10 @@ smbfs_mount(struct mount *mp)
|
||||
bzero(pc, MNAMELEN);
|
||||
*pc++ = '/';
|
||||
*pc++ = '/';
|
||||
pc=index(strncpy(pc, vcp->vc_username, pe - pc - 2), 0);
|
||||
pc = strchr(strncpy(pc, vcp->vc_username, pe - pc - 2), 0);
|
||||
if (pc < pe-1) {
|
||||
*(pc++) = '@';
|
||||
pc = index(strncpy(pc, vcp->vc_srvname, pe - pc - 2), 0);
|
||||
pc = strchr(strncpy(pc, vcp->vc_srvname, pe - pc - 2), 0);
|
||||
if (pc < pe - 1) {
|
||||
*(pc++) = '/';
|
||||
strncpy(pc, ssp->ss_name, pe - pc - 2);
|
||||
|
@ -1039,7 +1039,7 @@ smbfs_pathcheck(struct smbmount *smp, const char *name, int nmlen, int nameiop)
|
||||
* Backslash characters, being a path delimiter, are prohibited
|
||||
* within a path component even for LOOKUP operations.
|
||||
*/
|
||||
if (index(name, '\\') != NULL)
|
||||
if (strchr(name, '\\') != NULL)
|
||||
return ENOENT;
|
||||
|
||||
if (nameiop == LOOKUP)
|
||||
@ -1051,20 +1051,20 @@ smbfs_pathcheck(struct smbmount *smp, const char *name, int nmlen, int nameiop)
|
||||
*/
|
||||
if (nmlen > 12)
|
||||
return ENAMETOOLONG;
|
||||
cp = index(name, '.');
|
||||
cp = strchr(name, '.');
|
||||
if (cp == NULL)
|
||||
return error;
|
||||
if (cp == name || (cp - name) > 8)
|
||||
return error;
|
||||
cp = index(cp + 1, '.');
|
||||
cp = strchr(cp + 1, '.');
|
||||
if (cp != NULL)
|
||||
return error;
|
||||
for (cp = name, i = 0; i < nmlen; i++, cp++)
|
||||
if (index(badchars83, *cp) != NULL)
|
||||
if (strchr(badchars83, *cp) != NULL)
|
||||
return error;
|
||||
}
|
||||
for (cp = name, i = 0; i < nmlen; i++, cp++)
|
||||
if (index(badchars, *cp) != NULL)
|
||||
if (strchr(badchars, *cp) != NULL)
|
||||
return error;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1743,8 +1743,7 @@ xfs_parseargs(
|
||||
while ((this_char = strsep(&options, ",")) != NULL) {
|
||||
if (!*this_char)
|
||||
continue;
|
||||
|
||||
if ((value = index(this_char, '=')) != NULL)
|
||||
if ((value = strchr(this_char, '=')) != NULL)
|
||||
*value++ = 0;
|
||||
|
||||
if (!strcmp(this_char, MNTOPT_LOGBUFS)) {
|
||||
|
@ -152,7 +152,7 @@ ibcs2_getipdomainname(td, uap)
|
||||
/* Get the domain name. */
|
||||
getcredhostname(td->td_ucred, hname, sizeof(hname));
|
||||
|
||||
dptr = index(hname, '.');
|
||||
dptr = strchr(hname, '.');
|
||||
if ( dptr )
|
||||
dptr++;
|
||||
else
|
||||
@ -182,7 +182,7 @@ ibcs2_setipdomainname(td, uap)
|
||||
return EINVAL;
|
||||
|
||||
/* Get the host's unqualified name (strip off the domain) */
|
||||
ptr = index(hname, '.');
|
||||
ptr = strchr(hname, '.');
|
||||
if ( ptr != NULL ) {
|
||||
ptr++;
|
||||
*ptr = '\0';
|
||||
|
@ -212,7 +212,7 @@ ibcs2_utssys(td, uap)
|
||||
IBCS2_UNAME_VERSION, sizeof(sut.version) - 1);
|
||||
getcredhostname(td->td_ucred, machine_name,
|
||||
sizeof(machine_name) - 1);
|
||||
p = index(machine_name, '.');
|
||||
p = strchr(machine_name, '.');
|
||||
if ( p )
|
||||
*p = '\0';
|
||||
strncpy(sut.nodename, machine_name, sizeof(sut.nodename) - 1);
|
||||
|
@ -693,9 +693,9 @@ intr_event_describe_handler(struct intr_event *ie, void *cookie,
|
||||
* description at that point. If one is not found, find the
|
||||
* end of the name to use as the insertion point.
|
||||
*/
|
||||
start = index(ih->ih_name, ':');
|
||||
start = strchr(ih->ih_name, ':');
|
||||
if (start == NULL)
|
||||
start = index(ih->ih_name, 0);
|
||||
start = strchr(ih->ih_name, 0);
|
||||
|
||||
/*
|
||||
* See if there is enough remaining room in the string for the
|
||||
@ -1832,8 +1832,8 @@ DB_SHOW_COMMAND(intr, db_show_intr)
|
||||
struct intr_event *ie;
|
||||
int all, verbose;
|
||||
|
||||
verbose = index(modif, 'v') != NULL;
|
||||
all = index(modif, 'a') != NULL;
|
||||
verbose = strchr(modif, 'v') != NULL;
|
||||
all = strchr(modif, 'a') != NULL;
|
||||
TAILQ_FOREACH(ie, &event_list, ie_list) {
|
||||
if (!all && TAILQ_EMPTY(&ie->ie_handlers))
|
||||
continue;
|
||||
|
@ -341,9 +341,9 @@ DB_SHOW_COMMAND(ktr, db_ktr_all)
|
||||
tstate.cur = (ktr_idx - 1) & (KTR_ENTRIES - 1);
|
||||
tstate.first = -1;
|
||||
db_ktr_verbose = 0;
|
||||
db_ktr_verbose |= (index(modif, 'v') != NULL) ? 2 : 0;
|
||||
db_ktr_verbose |= (index(modif, 'V') != NULL) ? 1 : 0; /* just timestap please */
|
||||
if (index(modif, 'a') != NULL) {
|
||||
db_ktr_verbose |= (strchr(modif, 'v') != NULL) ? 2 : 0;
|
||||
db_ktr_verbose |= (strchr(modif, 'V') != NULL) ? 1 : 0; /* just timestap please */
|
||||
if (strchr(modif, 'a') != NULL) {
|
||||
db_disable_pager();
|
||||
while (cncheckc() != -1)
|
||||
if (db_mach_vtrace() == 0)
|
||||
|
@ -1013,7 +1013,7 @@ kern_kldload(struct thread *td, const char *file, int *fileid)
|
||||
* (kldname.ko, or kldname.ver.ko) treat it as an interface
|
||||
* name.
|
||||
*/
|
||||
if (index(file, '/') || index(file, '.')) {
|
||||
if (strchr(file, '/') || strchr(file, '.')) {
|
||||
kldname = file;
|
||||
modname = NULL;
|
||||
} else {
|
||||
@ -1906,7 +1906,7 @@ linker_search_kld(const char *name)
|
||||
int len;
|
||||
|
||||
/* qualified at all? */
|
||||
if (index(name, '/'))
|
||||
if (strchr(name, '/'))
|
||||
return (linker_strdup(name));
|
||||
|
||||
/* traverse the linker path */
|
||||
@ -1927,7 +1927,7 @@ linker_basename(const char *path)
|
||||
{
|
||||
const char *filename;
|
||||
|
||||
filename = rindex(path, '/');
|
||||
filename = strrchr(path, '/');
|
||||
if (filename == NULL)
|
||||
return path;
|
||||
if (filename[1])
|
||||
|
@ -133,8 +133,7 @@ res_find(int *line, int *startln,
|
||||
r_name, &r_unit, r_resname, r_value);
|
||||
if (hit && n != 4) {
|
||||
printf("CONFIG: invalid hint '%s'\n", cp);
|
||||
/* XXX: abuse bogus index() declaration */
|
||||
p = index(cp, 'h');
|
||||
p = strchr(cp, 'h');
|
||||
*p = 'H';
|
||||
hit = 0;
|
||||
}
|
||||
@ -172,18 +171,18 @@ res_find(int *line, int *startln,
|
||||
s = cp;
|
||||
/* This is a bit of a hack, but at least is reentrant */
|
||||
/* Note that it returns some !unterminated! strings. */
|
||||
s = index(s, '.') + 1; /* start of device */
|
||||
s = strchr(s, '.') + 1; /* start of device */
|
||||
if (ret_name)
|
||||
*ret_name = s;
|
||||
s = index(s, '.') + 1; /* start of unit */
|
||||
s = strchr(s, '.') + 1; /* start of unit */
|
||||
if (ret_namelen && ret_name)
|
||||
*ret_namelen = s - *ret_name - 1; /* device length */
|
||||
if (ret_unit)
|
||||
*ret_unit = r_unit;
|
||||
s = index(s, '.') + 1; /* start of resname */
|
||||
s = strchr(s, '.') + 1; /* start of resname */
|
||||
if (ret_resname)
|
||||
*ret_resname = s;
|
||||
s = index(s, '=') + 1; /* start of value */
|
||||
s = strchr(s, '=') + 1; /* start of value */
|
||||
if (ret_resnamelen && ret_resname)
|
||||
*ret_resnamelen = s - *ret_resname - 1; /* value len */
|
||||
if (ret_value)
|
||||
|
@ -355,7 +355,7 @@ ttyinq_findchar(struct ttyinq *ti, const char *breakc, size_t maxlen,
|
||||
return (0);
|
||||
|
||||
while (boff < bend) {
|
||||
if (index(breakc, tib->tib_data[boff]) && !GETBIT(tib, boff)) {
|
||||
if (strchr(breakc, tib->tib_data[boff]) && !GETBIT(tib, boff)) {
|
||||
*lastc = tib->tib_data[boff];
|
||||
return (boff - ti->ti_begin + 1);
|
||||
}
|
||||
|
@ -1974,7 +1974,7 @@ kern_kmq_open(struct thread *td, const char *upath, int flags, mode_t mode,
|
||||
* characters.
|
||||
*/
|
||||
len = strlen(path);
|
||||
if (len < 2 || path[0] != '/' || index(path + 1, '/') != NULL)
|
||||
if (len < 2 || path[0] != '/' || strchr(path + 1, '/') != NULL)
|
||||
return (EINVAL);
|
||||
|
||||
error = falloc(td, &fp, &fd, 0);
|
||||
@ -2077,7 +2077,7 @@ sys_kmq_unlink(struct thread *td, struct kmq_unlink_args *uap)
|
||||
return (error);
|
||||
|
||||
len = strlen(path);
|
||||
if (len < 2 || path[0] != '/' || index(path + 1, '/') != NULL)
|
||||
if (len < 2 || path[0] != '/' || strchr(path + 1, '/') != NULL)
|
||||
return (EINVAL);
|
||||
|
||||
sx_xlock(&mqfs_data.mi_lock);
|
||||
|
@ -89,12 +89,12 @@ fnmatch(const char *pattern, const char *string, int flags)
|
||||
if (c == EOS)
|
||||
if (flags & FNM_PATHNAME)
|
||||
return ((flags & FNM_LEADING_DIR) ||
|
||||
index(string, '/') == NULL ?
|
||||
strchr(string, '/') == NULL ?
|
||||
0 : FNM_NOMATCH);
|
||||
else
|
||||
return (0);
|
||||
else if (c == '/' && flags & FNM_PATHNAME) {
|
||||
if ((string = index(string, '/')) == NULL)
|
||||
if ((string = strchr(string, '/')) == NULL)
|
||||
return (FNM_NOMATCH);
|
||||
break;
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ ng_ksocket_sockaddr_parse(const struct ng_parse_type *type,
|
||||
/* Get socket address family followed by a slash */
|
||||
while (isspace(s[*off]))
|
||||
(*off)++;
|
||||
if ((t = index(s + *off, '/')) == NULL)
|
||||
if ((t = strchr(s + *off, '/')) == NULL)
|
||||
return (EINVAL);
|
||||
if ((len = t - (s + *off)) > sizeof(fambuf) - 1)
|
||||
return (EINVAL);
|
||||
@ -565,14 +565,14 @@ ng_ksocket_newhook(node_p node, hook_p hook, const char *name0)
|
||||
/* Extract family, type, and protocol from hook name */
|
||||
snprintf(name, sizeof(name), "%s", name0);
|
||||
s1 = name;
|
||||
if ((s2 = index(s1, '/')) == NULL)
|
||||
if ((s2 = strchr(s1, '/')) == NULL)
|
||||
return (EINVAL);
|
||||
*s2++ = '\0';
|
||||
family = ng_ksocket_parse(ng_ksocket_families, s1, 0);
|
||||
if (family == -1)
|
||||
return (EINVAL);
|
||||
s1 = s2;
|
||||
if ((s2 = index(s1, '/')) == NULL)
|
||||
if ((s2 = strchr(s1, '/')) == NULL)
|
||||
return (EINVAL);
|
||||
*s2++ = '\0';
|
||||
type = ng_ksocket_parse(ng_ksocket_types, s1, 0);
|
||||
|
@ -762,10 +762,10 @@ lomac_parse(struct mac_lomac *ml, char *string)
|
||||
|
||||
/* Do we have a range? */
|
||||
single = string;
|
||||
range = index(string, '(');
|
||||
range = strchr(string, '(');
|
||||
if (range == single)
|
||||
single = NULL;
|
||||
auxsingle = index(string, '[');
|
||||
auxsingle = strchr(string, '[');
|
||||
if (auxsingle == single)
|
||||
single = NULL;
|
||||
if (range != NULL && auxsingle != NULL)
|
||||
@ -776,13 +776,13 @@ lomac_parse(struct mac_lomac *ml, char *string)
|
||||
*range = '\0';
|
||||
range++;
|
||||
rangelow = range;
|
||||
rangehigh = index(rangelow, '-');
|
||||
rangehigh = strchr(rangelow, '-');
|
||||
if (rangehigh == NULL)
|
||||
return (EINVAL);
|
||||
rangehigh++;
|
||||
if (*rangelow == '\0' || *rangehigh == '\0')
|
||||
return (EINVAL);
|
||||
rangeend = index(rangehigh, ')');
|
||||
rangeend = strchr(rangehigh, ')');
|
||||
if (rangeend == NULL)
|
||||
return (EINVAL);
|
||||
if (*(rangeend + 1) != '\0')
|
||||
@ -798,7 +798,7 @@ lomac_parse(struct mac_lomac *ml, char *string)
|
||||
/* Nul terminate the end of the single string. */
|
||||
*auxsingle = '\0';
|
||||
auxsingle++;
|
||||
auxsingleend = index(auxsingle, ']');
|
||||
auxsingleend = strchr(auxsingle, ']');
|
||||
if (auxsingleend == NULL)
|
||||
return (EINVAL);
|
||||
if (*(auxsingleend + 1) != '\0')
|
||||
|
Loading…
Reference in New Issue
Block a user