| 1 | #include <shadow.h> |
| 2 | #include <stdio.h> |
| 3 | |
| 4 | #define NUM(n) ((n) == -1 ? 0 : -1), ((n) == -1 ? 0 : (n)) |
| 5 | #define STR(s) ((s) ? (s) : "") |
| 6 | |
| 7 | int putspent(const struct spwd *sp, FILE *f) |
| 8 | { |
| 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; |
| 13 | } |