+ if (size) {
+ char *file_on_disk = STRDUP(path);
+ if (!file_on_disk)
+ return WIMLIB_ERR_NOMEM;
+ blob = new_blob_descriptor();
+ if (!blob) {
+ FREE(file_on_disk);
+ return WIMLIB_ERR_NOMEM;
+ }
+ blob->file_on_disk = file_on_disk;
+ blob->file_inode = inode;
+ blob->blob_location = BLOB_IN_FILE_ON_DISK;
+ blob->size = size;
+ } else {
+ blob = NULL;
+ }