+ * if we have to read it from the filesystem outside, or if it's a
+ * symbolic link with the data already in memory pointed to by a field
+ * of the lookup table entry. */
+ if (lte->is_symlink) {
+ off_t offset = ftello(w->out_fp);
+ u64 new_size;
+
+ if (offset == -1) {
+ ERROR_WITH_ERRNO("Could not get position in output "
+ "file");
+ return WIMLIB_ERR_WRITE;
+ }
+
+ wimlib_assert(lte->symlink_buf);
+
+ len = lte->resource_entry.original_size;
+
+ ret = recompress_resource(NULL, lte->symlink_buf, len, len, 0,
+ 0, out_fp, out_wim_ctype, &new_size);
+ output_res_entry->size = new_size;
+ output_res_entry->original_size = len;
+ output_res_entry->offset = offset;
+ output_res_entry->flags = (out_wim_ctype == WIM_COMPRESSION_TYPE_NONE)
+ ? 0 : WIM_RESHDR_FLAG_COMPRESSED;
+ } else if (lte->file_on_disk) {