Backport getgrgid_r fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -359,7 +359,8 @@ static wxString wxTarUserName(int uid)
|
|||||||
wxCharBuffer buf(bufsize);
|
wxCharBuffer buf(bufsize);
|
||||||
struct passwd pw;
|
struct passwd pw;
|
||||||
|
|
||||||
if (getpwuid_r(uid, &pw, buf.data(), bufsize, &ppw) == 0)
|
memset(&pw, 0, sizeof(pw));
|
||||||
|
if (getpwuid_r(uid, &pw, buf.data(), bufsize, &ppw) == 0 && pw.pw_name)
|
||||||
return wxString(pw.pw_name, wxConvLibc);
|
return wxString(pw.pw_name, wxConvLibc);
|
||||||
#else
|
#else
|
||||||
if ((ppw = getpwuid(uid)) != NULL)
|
if ((ppw = getpwuid(uid)) != NULL)
|
||||||
@@ -381,7 +382,8 @@ static wxString wxTarGroupName(int gid)
|
|||||||
wxCharBuffer buf(bufsize);
|
wxCharBuffer buf(bufsize);
|
||||||
struct group gr;
|
struct group gr;
|
||||||
|
|
||||||
if (getgrgid_r(gid, &gr, buf.data(), bufsize, &pgr) == 0)
|
memset(&gr, 0, sizeof(gr));
|
||||||
|
if (getgrgid_r(gid, &gr, buf.data(), bufsize, &pgr) == 0 && gr.gr_name)
|
||||||
return wxString(gr.gr_name, wxConvLibc);
|
return wxString(gr.gr_name, wxConvLibc);
|
||||||
#else
|
#else
|
||||||
if ((pgr = getgrgid(gid)) != NULL)
|
if ((pgr = getgrgid(gid)) != NULL)
|
||||||
|
Reference in New Issue
Block a user