Lines Matching +full:de +full:- +full:assert
3 /*-
41 #include <assert.h>
79 .type = _min == -1 ? OPT_STRPTR : \ in msdos_prep_opts()
80 (_min == -2 ? OPT_BOOL : \ in msdos_prep_opts()
84 .value = &msdos_opt->options._name, \ in msdos_prep_opts()
96 fsopts->fs_specific = msdos_opt; in msdos_prep_opts()
97 fsopts->fs_options = copy_opts(msdos_options); in msdos_prep_opts()
103 free(fsopts->fs_specific); in msdos_cleanup_opts()
104 free(fsopts->fs_options); in msdos_cleanup_opts()
110 struct msdos_options *msdos_opt = fsopts->fs_specific; in msdos_parse_opts()
111 option_t *msdos_options = fsopts->fs_options; in msdos_parse_opts()
114 assert(option != NULL); in msdos_parse_opts()
115 assert(fsopts != NULL); in msdos_parse_opts()
116 assert(msdos_opt != NULL); in msdos_parse_opts()
122 if (rv == -1) in msdos_parse_opts()
126 msdos_opt->volume_id_set = 1; in msdos_parse_opts()
128 msdos_opt->media_descriptor_set = 1; in msdos_parse_opts()
130 msdos_opt->hidden_sectors_set = 1; in msdos_parse_opts()
133 msdos_opt->timestamp_set = 1; in msdos_parse_opts()
134 msdos_opt->timestamp = stampst.st_mtime; in msdos_parse_opts()
144 struct msdos_options_ex *msdos_opt = fsopts->fs_specific; in msdos_makefs()
149 assert(image != NULL); in msdos_makefs()
150 assert(dir != NULL); in msdos_makefs()
151 assert(root != NULL); in msdos_makefs()
152 assert(fsopts != NULL); in msdos_makefs()
154 fsopts->size = fsopts->maxsize; in msdos_makefs()
155 msdos_opt->options.create_size = MAX(msdos_opt->options.create_size, in msdos_makefs()
156 fsopts->offset + fsopts->size); in msdos_makefs()
157 if (fsopts->offset > 0) in msdos_makefs()
158 msdos_opt->options.offset = fsopts->offset; in msdos_makefs()
159 if (msdos_opt->options.bytes_per_sector == 0) { in msdos_makefs()
160 if (fsopts->sectorsize == -1) in msdos_makefs()
161 fsopts->sectorsize = 512; in msdos_makefs()
162 msdos_opt->options.bytes_per_sector = fsopts->sectorsize; in msdos_makefs()
163 } else if (fsopts->sectorsize == -1) { in msdos_makefs()
164 fsopts->sectorsize = msdos_opt->options.bytes_per_sector; in msdos_makefs()
165 } else if (fsopts->sectorsize != msdos_opt->options.bytes_per_sector) { in msdos_makefs()
166 err(1, "inconsistent sectorsize -S %u" in msdos_makefs()
167 "!= -o bytes_per_sector %u", in msdos_makefs()
168 fsopts->sectorsize, msdos_opt->options.bytes_per_sector); in msdos_makefs()
174 if (mkfs_msdos(image, NULL, &msdos_opt->options) == -1) in msdos_makefs()
178 fsopts->fd = open(image, O_RDWR); in msdos_makefs()
194 if (msdos_populate_dir(dir, VTODE(&rootvp), root, root, fsopts) == -1) in msdos_makefs()
217 assert(dir != NULL); in msdos_populate_dir()
218 assert(root != NULL); in msdos_populate_dir()
219 assert(fsopts != NULL); in msdos_populate_dir()
221 for (cur = root->next; cur != NULL; cur = cur->next) { in msdos_populate_dir()
223 cur->name) >= sizeof(pbuf)) { in msdos_populate_dir()
225 return -1; in msdos_populate_dir()
228 if ((cur->inode->flags & FI_ALLOCATED) == 0) { in msdos_populate_dir()
229 cur->inode->flags |= FI_ALLOCATED; in msdos_populate_dir()
231 fsopts->curinode++; in msdos_populate_dir()
232 cur->inode->ino = fsopts->curinode; in msdos_populate_dir()
233 cur->parent = parent; in msdos_populate_dir()
237 if (cur->inode->flags & FI_WRITTEN) { in msdos_populate_dir()
240 cur->inode->flags |= FI_WRITTEN; in msdos_populate_dir()
242 if (cur->child) { in msdos_populate_dir()
243 struct denode *de; in msdos_populate_dir() local
244 if ((de = msdosfs_mkdire(pbuf, dir, cur)) == NULL) { in msdos_populate_dir()
246 return -1; in msdos_populate_dir()
248 if (msdos_populate_dir(pbuf, de, cur->child, cur, in msdos_populate_dir()
249 fsopts) == -1) { in msdos_populate_dir()
251 return -1; in msdos_populate_dir()
254 } else if (!S_ISREG(cur->type)) { in msdos_populate_dir()
255 warnx("skipping non-regular file %s/%s", cur->path, in msdos_populate_dir()
256 cur->name); in msdos_populate_dir()
259 if (msdosfs_mkfile(cur->contents ? cur->contents : pbuf, dir, in msdos_populate_dir()
262 return -1; in msdos_populate_dir()