Merge branch 'rg/no-gecos-in-pwent'
* rg/no-gecos-in-pwent: ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd Conflicts: Makefile
This commit is contained in:
commit
8784e4ddde
3
Makefile
3
Makefile
@ -70,6 +70,9 @@ all::
|
||||
# Define NO_FNMATCH_CASEFOLD if your fnmatch function doesn't have the
|
||||
# FNM_CASEFOLD GNU extension.
|
||||
#
|
||||
# Define NO_GECOS_IN_PWENT if you don't have pw_gecos in struct passwd
|
||||
# in the C library.
|
||||
#
|
||||
# Define NO_LIBGEN_H if you don't have libgen.h.
|
||||
#
|
||||
# Define NEEDS_LIBGEN if your libgen needs -lgen when linking
|
||||
|
8
ident.c
8
ident.c
@ -9,6 +9,12 @@
|
||||
|
||||
static char git_default_date[50];
|
||||
|
||||
#ifdef NO_GECOS_IN_PWENT
|
||||
#define get_gecos(ignored) "&"
|
||||
#else
|
||||
#define get_gecos(struct_passwd) ((struct_passwd)->pw_gecos)
|
||||
#endif
|
||||
|
||||
static void copy_gecos(const struct passwd *w, char *name, size_t sz)
|
||||
{
|
||||
char *src, *dst;
|
||||
@ -20,7 +26,7 @@ static void copy_gecos(const struct passwd *w, char *name, size_t sz)
|
||||
* with commas. Also & stands for capitalized form of the login name.
|
||||
*/
|
||||
|
||||
for (len = 0, dst = name, src = w->pw_gecos; len < sz; src++) {
|
||||
for (len = 0, dst = name, src = get_gecos(w); len < sz; src++) {
|
||||
int ch = *src;
|
||||
if (ch != '&') {
|
||||
*dst++ = ch;
|
||||
|
Loading…
Reference in New Issue
Block a user