Date: Mon, 28 Dec 2009 02:09:57 +0000 (UTC) From: Tim Kientzle <kientzle@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r201083 - head/lib/libarchive Message-ID: <200912280209.nBS29viN075152@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kientzle Date: Mon Dec 28 02:09:57 2009 New Revision: 201083 URL: http://svn.freebsd.org/changeset/base/201083 Log: Compatibility fix for some older systems with non-POSIX getgrnam_r/getpwnam_r and a minor style fix for the hash function. Modified: head/lib/libarchive/archive_write_disk_set_standard_lookup.c Modified: head/lib/libarchive/archive_write_disk_set_standard_lookup.c ============================================================================== --- head/lib/libarchive/archive_write_disk_set_standard_lookup.c Mon Dec 28 02:05:28 2009 (r201082) +++ head/lib/libarchive/archive_write_disk_set_standard_lookup.c Mon Dec 28 02:09:57 2009 (r201083) @@ -125,6 +125,7 @@ lookup_gid(void *private_data, const cha int r; for (;;) { + result = &grent; /* Old getgrnam_r ignores last arg. */ r = getgrnam_r(gname, &grent, buffer, bufsize, &result); if (r == 0) break; @@ -184,6 +185,7 @@ lookup_uid(void *private_data, const cha int r; for (;;) { + result = &pwent; /* Old getpwnam_r ignores last arg. */ r = getpwnam_r(uname, &pwent, buffer, bufsize, &result); if (r == 0) break; @@ -230,8 +232,8 @@ hash(const char *p) as used by ELF for hashing function names. */ unsigned g, h = 0; while (*p != '\0') { - h = ( h << 4 ) + *p++; - if (( g = h & 0xF0000000 )) { + h = (h << 4) + *p++; + if ((g = h & 0xF0000000) != 0) { h ^= g >> 24; h &= 0x0FFFFFFF; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912280209.nBS29viN075152>