static int write_root_shadow(const char *path, const struct spwd *p) { _cleanup_fclose_ FILE *f = NULL; assert(path); assert(p); RUN_WITH_UMASK(0777) f = fopen(path, "wex"); if (!f) return -errno; errno = 0; if (putspent(p, f) != 0) return errno ? -errno : -EIO; return fflush_and_check(f); }
static int write_root_shadow(const char *path, const struct spwd *p) { _cleanup_fclose_ FILE *f = NULL; int r; assert(path); assert(p); RUN_WITH_UMASK(0777) f = fopen(path, "wex"); if (!f) return -errno; r = putspent_sane(p, f); if (r < 0) return r; return fflush_sync_and_check(f); }