char *
generic_rawmemchr (const char *s, int c)
{
- if (c != 0)
+ if ((unsigned char) c != 0)
return memchr (s, c, PTRDIFF_MAX);
return (char *)s + strlen (s);
}
s = strpbrk (token, delim);
if (s == NULL)
/* This token finishes the string. */
- olds = rawmemchr (token, '\0');
+ olds = strchr (token, '\0');
else
{
/* Terminate the token and make OLDS point past it. */
while (cp < unsecure_envvars + sizeof (unsecure_envvars))
{
__unsetenv (cp);
- cp = (const char *) __rawmemchr (cp, '\0') + 1;
+ cp = strchr (cp, '\0') + 1;
}
#if !HAVE_TUNABLES
if (opt_chroot != NULL)
{
/* Normalize the path a bit, we might need it for printing later. */
- char *endp = rawmemchr (opt_chroot, '\0');
+ char *endp = strchr (opt_chroot, '\0');
while (endp > opt_chroot && endp[-1] == '/')
--endp;
*endp = '\0';
newp->fptr[cnt] = NULL;
++cnt;
- cp = rawmemchr (cp, '\0') + 1;
+ cp = strchr (cp, '\0') + 1;
}
while (*cp != '\0');
assert (cnt == naudit_ifaces);
do
{
unsetenv (nextp);
- /* We could use rawmemchr but this need not be fast. */
- nextp = (char *) (strchr) (nextp, '\0') + 1;
+ nextp = strchr (nextp, '\0') + 1;
}
while (*nextp != '\0');
do
{
const char *from = cp;
- const char *to = __rawmemchr (from, '\0') + 1;
- cp = __rawmemchr (to, '\0') + 1;
+ const char *to = strchr (from, '\0') + 1;
+ cp = strchr (to, '\0') + 1;
add_alias2 (from, to, cp);
}
enum variant var = 0;
for (const char *name = names; *name != '\0';
- name = __rawmemchr (name, '\0') + 1)
+ name = strchr (name, '\0') + 1)
{
if (__strcasecmp (step->__from_name, name) == 0)
{
enum variant var = 0;
for (const char *name = names; *name != '\0';
- name = __rawmemchr (name, '\0') + 1)
+ name = strchr (name, '\0') + 1)
{
if (__strcasecmp (step->__from_name, name) == 0)
{
datap->type = triple_val;
datap->val.triple.host = get_nonempty_val (datap->cursor);
- datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = strchr (datap->cursor, '\0') + 1;
datap->val.triple.user = get_nonempty_val (datap->cursor);
- datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = strchr (datap->cursor, '\0') + 1;
datap->val.triple.domain = get_nonempty_val (datap->cursor);
- datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = strchr (datap->cursor, '\0') + 1;
return NSS_STATUS_SUCCESS;
}
p = translation;
while (index-- > 0)
{
-#ifdef _LIBC
- p = __rawmemchr (p, '\0');
-#else
p = strchr (p, '\0');
-#endif
/* And skip over the NUL byte. */
p++;
/* Next, update the `struct FTW' information. */
++data->ftw.level;
- startp = __rawmemchr (data->dirbuf, '\0');
+ startp = strchr (data->dirbuf, '\0');
/* There always must be a directory name. */
assert (startp != data->dirbuf);
if (startp[-1] != '/')
char *end;
if (size == 0)
- end = __rawmemchr (ptr, '\0');
+ end = strchr (ptr, '\0');
else if ((size_t) ptr + size > (size_t) ptr)
end = ptr + size;
else
In this case the result is unspecified. Otherwise the return value is a
pointer to the located byte.
-This function is of special interest when looking for the end of a
-string. Since all strings are terminated by a null byte a call like
-
-@smallexample
- rawmemchr (str, '\0')
-@end smallexample
-
-@noindent
-will never go beyond the end of the string.
+When looking for the end of a string, use @code{strchr}.
This function is a GNU extension.
@end deftypefun
nis_error status;
char *cp, *cp2;
- cp = rawmemchr (nis_leaf_of_r (group, buf, sizeof (buf) - 1), '\0');
+ cp = strchr (nis_leaf_of_r (group, buf, sizeof (buf) - 1), '\0');
cp = stpcpy (cp, ".groups_dir");
cp2 = nis_domain_of_r (group, domainbuf, sizeof (domainbuf) - 1);
if (cp2 != NULL && cp2[0] != '\0')
}
while (nis_dir_cmp (domain, dir->do_name) != SAME_NAME);
- cp = rawmemchr (leaf, '\0');
+ cp = strchr (leaf, '\0');
*cp++ = '.';
strcpy (cp, domain);
if (ret == NULL)
break;
- addr = rawmemchr (nis_server_cache[i]->name, '\0') + 8;
+ addr = strchr (nis_server_cache[i]->name, '\0') + 8;
addr = (char *) ((uintptr_t) addr & ~(uintptr_t) 7);
xdrmem_create (&xdrs, addr, nis_server_cache[i]->size, XDR_DECODE);
if (!_xdr_directory_obj (&xdrs, ret))
__nisdomainname[0] = '\0';
else
{
- char *cp = rawmemchr (__nisdomainname, '\0');
+ char *cp = strchr (__nisdomainname, '\0');
/* Missing trailing dot? */
if (cp[-1] != '.')
__nishostname[0] = '\0';
else
{
- char *cp = rawmemchr (__nishostname, '\0');
+ char *cp = strchr (__nishostname, '\0');
int len = cp - __nishostname;
/* Hostname already fully qualified? */
nis_error status;
char *cp, *cp2;
- cp = rawmemchr (nis_leaf_of_r (group, buf, sizeof (buf) - 1), '\0');
+ cp = strchr (nis_leaf_of_r (group, buf, sizeof (buf) - 1), '\0');
cp = stpcpy (cp, ".groups_dir");
cp2 = nis_domain_of_r (group, domainbuf, sizeof (domainbuf) - 1);
if (cp2 != NULL && cp2[0] != '\0')
for (char *cp = cmdline; cp < cmdline + readlen;)
{
argv[argc++] = cp;
- cp = (char *) rawmemchr (cp, '\0') + 1;
+ cp = strchr (cp, '\0') + 1;
}
argv[argc] = NULL;
/* Finally the stringified GID value. */
memcpy (cp, buf, n);
char *key_copy = cp + key_offset;
- assert (key_copy == (char *) rawmemchr (cp, '\0') + 1);
+ assert (key_copy == strchr (cp, '\0') + 1);
assert (cp == dataset->strdata + total - offsetof (struct dataset,
strdata));
struct datahead *dh)
{
const char *group = key;
- key = (char *) rawmemchr (key, '\0') + 1;
+ key = strchr (key, '\0') + 1;
size_t group_len = key - group;
const char *host = *key++ ? key : NULL;
if (host != NULL)
- key = (char *) rawmemchr (key, '\0') + 1;
+ key = strchr (key, '\0') + 1;
const char *user = *key++ ? key : NULL;
if (user != NULL)
- key = (char *) rawmemchr (key, '\0') + 1;
+ key = strchr (key, '\0') + 1;
const char *domain = *key++ ? key : NULL;
if (__glibc_unlikely (debug_level > 0))
match anything is stored in the netgroup cache. */
if (host != NULL && *triplets != '\0')
success = strcmp (host, triplets) == 0;
- triplets = (const char *) rawmemchr (triplets, '\0') + 1;
+ triplets = strchr (triplets, '\0') + 1;
if (success && user != NULL && *triplets != '\0')
success = strcmp (user, triplets) == 0;
- triplets = (const char *) rawmemchr (triplets, '\0') + 1;
+ triplets = strchr (triplets, '\0') + 1;
if (success && (domain == NULL || *triplets == '\0'
|| strcmp (domain, triplets) == 0))
dataset->resp.result = 1;
break;
}
- triplets = (const char *) rawmemchr (triplets, '\0') + 1;
+ triplets = strchr (triplets, '\0') + 1;
}
}
/* Finally the stringified UID value. */
memcpy (cp, buf, n);
char *key_copy = cp + key_offset;
- assert (key_copy == (char *) rawmemchr (cp, '\0') + 1);
+ assert (key_copy == strchr (cp, '\0') + 1);
assert (cp == dataset->strdata + total - offsetof (struct dataset,
strdata));
+ state.header->valstrlen);
while (entidx < end)
{
- const char *next = rawmemchr (entidx, '\0') + 1;
+ const char *next = strchr (entidx, '\0') + 1;
size_t len = next - entidx;
if (len > buflen)
# endif
# define __mempcpy mempcpy
# define __pathconf pathconf
-# define __rawmemchr rawmemchr
# define __readlink readlink
# define __stat stat
#endif
return NULL;
rname = bufs->rname.data;
}
- dest = __rawmemchr (rname, '\0');
+ dest = strchr (rname, '\0');
start = name;
prefix_len = FILE_SYSTEM_PREFIX_LEN (rname);
}
void *
RAWMEMCHR (const void *s, int c)
{
- if (c != '\0')
+ if ((unsigned char) c != '\0')
return memchr (s, c, (size_t)-1);
return (char *)s + strlen (s);
}