Fixed a few of the SunOS build errors in libarchive.
This commit is contained in:
parent
dc577fb8b1
commit
5a6cb44e96
|
@ -186,7 +186,7 @@ static const char *
|
|||
lookup_uname_helper(struct name_cache *cache, id_t id)
|
||||
{
|
||||
struct passwd pwent, *result;
|
||||
int r;
|
||||
int r = 0;
|
||||
|
||||
if (cache->buff_size == 0) {
|
||||
cache->buff_size = 256;
|
||||
|
@ -195,8 +195,12 @@ lookup_uname_helper(struct name_cache *cache, id_t id)
|
|||
if (cache->buff == NULL)
|
||||
return (NULL);
|
||||
for (;;) {
|
||||
#if defined(__sun)
|
||||
result = getpwuid_r((uid_t)id, &pwent, cache->buff, cache->buff_size);
|
||||
#else
|
||||
r = getpwuid_r((uid_t)id, &pwent,
|
||||
cache->buff, cache->buff_size, &result);
|
||||
#endif
|
||||
if (r == 0)
|
||||
break;
|
||||
if (r != ERANGE)
|
||||
|
@ -234,7 +238,7 @@ static const char *
|
|||
lookup_gname_helper(struct name_cache *cache, id_t id)
|
||||
{
|
||||
struct group grent, *result;
|
||||
int r;
|
||||
int r = 0;
|
||||
|
||||
if (cache->buff_size == 0) {
|
||||
cache->buff_size = 256;
|
||||
|
@ -243,8 +247,12 @@ lookup_gname_helper(struct name_cache *cache, id_t id)
|
|||
if (cache->buff == NULL)
|
||||
return (NULL);
|
||||
for (;;) {
|
||||
#if defined(__sun)
|
||||
result = getgrgid_r((gid_t)id, &grent, cache->buff, cache->buff_size);
|
||||
#else
|
||||
r = getgrgid_r((gid_t)id, &grent,
|
||||
cache->buff, cache->buff_size, &result);
|
||||
#endif
|
||||
if (r == 0)
|
||||
break;
|
||||
if (r != ERANGE)
|
||||
|
|
|
@ -122,10 +122,14 @@ lookup_gid(void *private_data, const char *gname, gid_t gid)
|
|||
size_t bufsize = 128;
|
||||
char *buffer = _buffer;
|
||||
struct group grent, *result;
|
||||
int r;
|
||||
int r = 0;
|
||||
|
||||
for (;;) {
|
||||
#if defined(__sun)
|
||||
result = getgrnam_r(gname, &grent, buffer, bufsize);
|
||||
#else
|
||||
r = getgrnam_r(gname, &grent, buffer, bufsize, &result);
|
||||
#endif
|
||||
if (r == 0)
|
||||
break;
|
||||
if (r != ERANGE)
|
||||
|
@ -181,10 +185,14 @@ lookup_uid(void *private_data, const char *uname, uid_t uid)
|
|||
size_t bufsize = 128;
|
||||
char *buffer = _buffer;
|
||||
struct passwd pwent, *result;
|
||||
int r;
|
||||
int r = 0;
|
||||
|
||||
for (;;) {
|
||||
#if defined(__sun)
|
||||
result = getpwnam_r(uname, &pwent, buffer, bufsize);
|
||||
#else
|
||||
r = getpwnam_r(uname, &pwent, buffer, bufsize, &result);
|
||||
#endif
|
||||
if (r == 0)
|
||||
break;
|
||||
if (r != ERANGE)
|
||||
|
|
Loading…
Reference in New Issue