mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5441] * stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free structure, it's allocated with alloca. * stdio-common/Makefile (tests): Add bug21. * stdio-common/bug21.c: New file. 2007-12-06 Aurelien Jarno <aurelien@aurel32.net> [BZ #5452] * sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__ keyword for gcc's braced-groups. 2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5454] * inet/ether_line.c: Strip hostname of whitespaces. * inet/Makefile (tests): Add tst-ether_line. * inet/tst-ether_line.c: New file.
This commit is contained in:
@ -61,19 +61,20 @@ ether_line (const char *line, struct ether_addr *addr, char *hostname)
|
||||
++line;
|
||||
}
|
||||
|
||||
/* Remove trailing white space. */
|
||||
cp = __strchrnul (line, '#');
|
||||
while (cp > line && isspace (cp[-1]))
|
||||
--cp;
|
||||
/* Skip initial whitespace. */
|
||||
while (isspace (*line))
|
||||
++line;
|
||||
|
||||
if (cp == line)
|
||||
if (*line == '#' || *line == '\0')
|
||||
/* No hostname. */
|
||||
return -1;
|
||||
|
||||
/* The hostname is up to the next non-space character. */
|
||||
/* XXX This can cause trouble because the hostname might be too long
|
||||
but we have no possibility to check it here. */
|
||||
memcpy (hostname, line, cp - line);
|
||||
hostname [cp - line] = '\0';
|
||||
while (*line != '\0' && *line != '#' && !isspace (*line))
|
||||
*hostname++ = *line++;
|
||||
*hostname = '\0';
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user