4 #define NUM(n) ((n) == -1 ? 0 : -1), ((n) == -1 ? 0 : (n))
5 #define STR(s) ((s) ? (s) : "")
7 int putspent(const struct spwd
*sp
, FILE *f
)
9 return fprintf(f
, "%s:%s:%.*ld:%.*ld:%.*ld:%.*ld:%.*ld:%.*ld:%.*lu\n",
10 STR(sp
->sp_namp
), STR(sp
->sp_pwdp
), NUM(sp
->sp_lstchg
),
11 NUM(sp
->sp_min
), NUM(sp
->sp_max
), NUM(sp
->sp_warn
),
12 NUM(sp
->sp_inact
), NUM(sp
->sp_expire
), NUM(sp
->sp_flag
)) < 0 ? -1 : 0;