NO_GECOS_IN_PWENT is defined in Makefile. If set, struct_passwd->pw_gecos is not used but the capitalized login name is taken as a substitute. Signed-off-by: Rafael Gieschke <rafael@xxxxxxxxxxx> --- Makefile | 6 ++++++ ident.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index d7147cf..de79c8f 100644 --- a/Makefile +++ b/Makefile @@ -71,6 +71,9 @@ all:: # # Define NO_STRTOK_R if you don't have strtok_r in the C library. # +# Define NO_GECOS_IN_PWENT if you don't have pw_gecos in struct passwd +# in the C library. +# # Define NO_FNMATCH if you don't have fnmatch in the C library. # # Define NO_FNMATCH_CASEFOLD if your fnmatch function doesn't have the @@ -1406,6 +1409,9 @@ ifdef NO_STRTOK_R COMPAT_CFLAGS += -DNO_STRTOK_R COMPAT_OBJS += compat/strtok_r.o endif +ifdef NO_GECOS_IN_PWENT + COMPAT_CFLAGS += -DNO_GECOS_IN_PWENT +endif ifdef NO_FNMATCH COMPAT_CFLAGS += -Icompat/fnmatch COMPAT_CFLAGS += -DNO_FNMATCH diff --git a/ident.c b/ident.c index 8e56b5e..bcd04e0 100644 --- a/ident.c +++ b/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; -- 1.7.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html