summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2013-03-11 20:57:43 +0100
committerArthur de Jong <arthur@arthurdejong.org>2013-03-11 20:57:43 +0100
commit7926326ac549bc0e6e3fd0dc9e8b9014f0bacde6 (patch)
treeb3ae75ea7e584597906de43264857da5e672c5c3
parent83c5788daeec43929088f745238f8c9c31b4d6a8 (diff)
fix the text representation of shadow information for nscd on Solaris
-rw-r--r--nss/shadow.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/nss/shadow.c b/nss/shadow.c
index 8fe2437..29fc810 100644
--- a/nss/shadow.c
+++ b/nss/shadow.c
@@ -93,24 +93,24 @@ static char *spwd2str(struct spwd *result, char *buffer, size_t buflen)
/* snprintf writes a terminating \0 on Solaris */
snprintf(buffer, buflen, "%s:%s:", result->sp_namp, result->sp_pwdp);
if (result->sp_lstchg >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_lstchg);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_lstchg);
strlcat(buffer, ":", buflen);
if (result->sp_min >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_min);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_min);
strlcat(buffer, ":", buflen);
if (result->sp_max >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_max);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_max);
strlcat(buffer, ":", buflen);
if (result->sp_warn >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_warn);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_warn);
strlcat(buffer, ":", buflen);
if (result->sp_inact >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_inact);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_inact);
strlcat(buffer, ":", buflen);
if (result->sp_expire >= 0)
- snprintf(buffer, buflen - strlen(buffer) - 1, "%d:", result->sp_expire);
+ snprintf(buffer, buflen - strlen(buffer) - 1, "%d", result->sp_expire);
strlcat(buffer, ":", buflen);
- if (result->sp_flag >= 0)
+ if (result->sp_flag > 0)
snprintf(buffer, buflen - strlen(buffer) - 1, "%x", result->sp_flag);
if (strlen(buffer) >= buflen - 1)
return NULL;