X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=create.c;h=d08da1c026909de78ccd4386d22d9545de139c80;hp=022129bcb01a7e74d6427d2e60ba7af6f1c7e539;hb=4113e8c585d3da46bfa5326b866621cff854a737;hpb=3bccda3199f83f5fc128b5ae3c256df305d059bc diff --git a/create.c b/create.c index 022129b..d08da1c 100644 --- a/create.c +++ b/create.c @@ -14,40 +14,11 @@ #include "fd.h" #include "string.h" #include "error.h" -#include "portable_io.h" +#include "user.h" /* Id of the device containing the base dir. */ static dev_t device_id; -static int write_uid(struct user_info *ui, void *data) -{ - char **p = data; - - write_u32(*p, ui->uid); - *p += sizeof(uint32_t); - return 1; -} - -static int write_uid_list(void) -{ - char *buf, *p, *filename; - size_t size = num_uids * sizeof(uint32_t); - int ret; - - if (!num_uids) - return 0; - buf = p = adu_malloc(size); - ret = for_each_admissible_user(write_uid, &p); - if (ret < 0) - goto out; - filename = get_uid_list_name(); - ret = adu_write_file(filename, buf, size); - free(filename); -out: - free(buf); - return ret; -} - static int add_directory(char *dirname, uint64_t *dir_num, uint64_t *parent_dir_num, uint64_t *dir_size, uint64_t *dir_files) { @@ -201,7 +172,7 @@ int com_create(void) ret = scan_dir(conf.base_dir_arg, &zero); if (ret < 0) goto out; - ret = write_uid_list(); + ret = write_uid_file(); out: close_all_tables(); return ret;