Lines Matching full:item
151 struct item {
154 struct item *next;
158 static struct item *free_items_head;
160 static struct item *alloc_item(void)
162 struct item *item;
165 item = free_items_head;
166 free_items_head = item->next;
168 item = malloc(sizeof(struct item));
169 /* May return NULL if item couldn't be allocated. */
172 return item;
175 static void free_item(struct item *item)
177 item->next = free_items_head;
178 free_items_head = item;
181 static void free_items(struct item *head)
183 struct item *tail;
209 struct item *items;
210 struct item *item;
240 item = NULL;
253 item = alloc_item();
254 if (!item) {
255 WARN("importing %s: couldn't allocate item struct: "
261 if (convert_name(item->name, de->d_name)) {
267 import_file(fs, ch_path, &item->imp);
268 item->is_dir = 0;
271 import_dir(fs, ch_path, 0, &item->imp);
272 item->is_dir = 1;
278 item->next = items;
279 items = item;
283 item = NULL;
288 if (item)
289 free_item(item);
310 item = items;
311 items = item->next;
316 item->name, item->is_dir ? FAT_ATTR_SUBDIR : 0,
317 item->imp.first_cluster, item->imp.size);
319 if (item->imp.dot_dot_dirent) {
320 fat_dirent_set_first_cluster(item->imp.dot_dot_dirent,
324 free_item(item);