Lines Matching refs:archive

35 void xa_cpio_ask (XArchive *archive)  in xa_cpio_ask()  argument
37 archive->can_extract = TRUE; in xa_cpio_ask()
38 archive->can_add = TRUE; in xa_cpio_ask()
39 archive->can_full_path[0] = TRUE; in xa_cpio_ask()
40 archive->can_full_path[1] = TRUE; // n.b.: adds leading slash in xa_cpio_ask()
41 archive->can_touch = TRUE; in xa_cpio_ask()
42 archive->can_overwrite = TRUE; in xa_cpio_ask()
45 static void xa_cpio_parse_output (gchar *line, XArchive *archive) in xa_cpio_parse_output() argument
111 entry = xa_set_archive_entries_for_each_row(archive, filename, item); in xa_cpio_parse_output()
119 archive->files++; in xa_cpio_parse_output()
121 archive->files_size += g_ascii_strtoull(item[1], NULL, 0); in xa_cpio_parse_output()
125 void xa_cpio_list (XArchive *archive) in xa_cpio_list() argument
132 archive->files = 0; in xa_cpio_list()
133 archive->files_size = 0; in xa_cpio_list()
135 command = g_strconcat(archiver[archive->type].program[0], " -tv -F ", archive->path[1], NULL); in xa_cpio_list()
136 archive->parse_output = xa_cpio_parse_output; in xa_cpio_list()
137 xa_spawn_async_process(archive, command); in xa_cpio_list()
140 archive->columns = 10; in xa_cpio_list()
141 archive->size_column = 3; in xa_cpio_list()
142 archive->column_types = g_malloc0(sizeof(types)); in xa_cpio_list()
144 for (i = 0; i < archive->columns; i++) in xa_cpio_list()
145 archive->column_types[i] = types[i]; in xa_cpio_list()
147 xa_create_liststore(archive, titles); in xa_cpio_list()
156 gboolean xa_cpio_extract (XArchive *archive, GSList *file_list) in xa_cpio_extract() argument
162 if (archive->do_full_path) in xa_cpio_extract()
163 extract_to = g_strdup(archive->extraction_dir); in xa_cpio_extract()
166 if (!xa_create_working_directory(archive)) in xa_cpio_extract()
169 extract_to = g_strconcat(archive->working_dir, "/xa-tmp.XXXXXX", NULL); in xa_cpio_extract()
180 archive->child_dir = g_strdup(extract_to); in xa_cpio_extract()
181 command = g_strconcat(archiver[archive->type].program[0], " -id", in xa_cpio_extract()
182 archive->do_touch ? "" : " -m", in xa_cpio_extract()
183 archive->do_overwrite ? " -u" : "", in xa_cpio_extract()
184 " --no-absolute-filenames -F ", archive->path[1], in xa_cpio_extract()
186 result = xa_run_command(archive, command); in xa_cpio_extract()
189 g_free(archive->child_dir); in xa_cpio_extract()
190 archive->child_dir = NULL; in xa_cpio_extract()
193 if (result && !archive->do_full_path) in xa_cpio_extract()
197 archive->child_dir = g_strdup(extract_to); in xa_cpio_extract()
199 archive->do_overwrite ? " -f" : " -n", in xa_cpio_extract()
200 all_files->str, " ", archive->extraction_dir, NULL); in xa_cpio_extract()
203 result = xa_run_command(archive, command); in xa_cpio_extract()
206 g_free(archive->child_dir); in xa_cpio_extract()
207 archive->child_dir = NULL; in xa_cpio_extract()
216 void xa_cpio_add (XArchive *archive, GSList *file_list, gchar *compression) in xa_cpio_add() argument
221 if (archive->location_path != NULL) in xa_cpio_add()
222 archive->child_dir = g_strdup(archive->working_dir); in xa_cpio_add()
227 archive_path = xa_quote_shell_command(archive->path[0], TRUE); in xa_cpio_add()
229 archiver[archive->type].program[0], " -o", in xa_cpio_add()
230 g_file_test(archive->path[0], G_FILE_TEST_EXISTS) ? " -A" : "", in xa_cpio_add()
235 xa_run_command(archive, command); in xa_cpio_add()