Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
267b639a
Commit
267b639a
authored
8 years ago
by
Stefan Krah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #20306: The pw_gecos and pw_passwd fields are not required by POSIX.
If they aren't present, set them to an empty string.
parent
8e1da582
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
45 additions
and
0 deletions
+45
-0
Modules/pwdmodule.c
Modules/pwdmodule.c
+8
-0
configure
configure
+27
-0
configure.ac
configure.ac
+4
-0
pyconfig.h.in
pyconfig.h.in
+6
-0
No files found.
Modules/pwdmodule.c
View file @
267b639a
...
...
@@ -75,10 +75,18 @@ mkpwent(struct passwd *p)
#define SETS(i,val) sets(v, i, val)
SETS
(
setIndex
++
,
p
->
pw_name
);
#if defined(HAVE_STRUCT_PASSWD_PW_PASSWD)
SETS
(
setIndex
++
,
p
->
pw_passwd
);
#else
SETS
(
setIndex
++
,
""
);
#endif
PyStructSequence_SET_ITEM
(
v
,
setIndex
++
,
_PyLong_FromUid
(
p
->
pw_uid
));
PyStructSequence_SET_ITEM
(
v
,
setIndex
++
,
_PyLong_FromGid
(
p
->
pw_gid
));
#if defined(HAVE_STRUCT_PASSWD_PW_GECOS)
SETS
(
setIndex
++
,
p
->
pw_gecos
);
#else
SETS
(
setIndex
++
,
""
);
#endif
SETS
(
setIndex
++
,
p
->
pw_dir
);
SETS
(
setIndex
++
,
p
->
pw_shell
);
...
...
This diff is collapsed.
Click to expand it.
configure
View file @
267b639a
...
...
@@ -12916,6 +12916,33 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
fi
ac_fn_c_check_member
"
$LINENO
"
"struct passwd"
"pw_gecos"
"ac_cv_member_struct_passwd_pw_gecos"
"
#include <sys/types.h>
#include <pwd.h>
"
if
test
"x
$ac_cv_member_struct_passwd_pw_gecos
"
=
xyes
;
then
:
cat
>>
confdefs.h
<<
_ACEOF
#define HAVE_STRUCT_PASSWD_PW_GECOS 1
_ACEOF
fi
ac_fn_c_check_member
"
$LINENO
"
"struct passwd"
"pw_passwd"
"ac_cv_member_struct_passwd_pw_passwd"
"
#include <sys/types.h>
#include <pwd.h>
"
if
test
"x
$ac_cv_member_struct_passwd_pw_passwd
"
=
xyes
;
then
:
cat
>>
confdefs.h
<<
_ACEOF
#define HAVE_STRUCT_PASSWD_PW_PASSWD 1
_ACEOF
fi
...
...
This diff is collapsed.
Click to expand it.
configure.ac
View file @
267b639a
...
...
@@ -3762,6 +3762,10 @@ AC_CHECK_MEMBERS([struct stat.st_flags])
AC_CHECK_MEMBERS([struct stat.st_gen])
AC_CHECK_MEMBERS([struct stat.st_birthtime])
AC_CHECK_MEMBERS([struct stat.st_blocks])
AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_passwd], [], [], [[
#include <sys/types.h>
#include <pwd.h>
]])
AC_MSG_CHECKING(for time.h that defines altzone)
AC_CACHE_VAL(ac_cv_header_time_altzone,[
...
...
This diff is collapsed.
Click to expand it.
pyconfig.h.in
View file @
267b639a
...
...
@@ -916,6 +916,12 @@
/* Define to 1 if you have the <stropts.h> header file. */
#undef HAVE_STROPTS_H
/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
#undef HAVE_STRUCT_PASSWD_PW_GECOS
/* Define to 1 if `pw_passwd' is a member of `struct passwd'. */
#undef HAVE_STRUCT_PASSWD_PW_PASSWD
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BIRTHTIME
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment