Lines Matching refs:archive

30 #define INDEX (archive->type == XARCHIVETYPE_RAR ? (archive->tag == 5 ? 1 : 0) : 0)
112 static gboolean is_encrypted (XArchive *archive) in is_encrypted() argument
117 command = g_strconcat(archiver[archive->type].program[INDEX], " l -slt ", archive->path[0], NULL); in is_encrypted()
239 void xa_7zip_ask (XArchive *archive) in xa_7zip_ask() argument
241 archive->can_test = TRUE; in xa_7zip_ask()
242 archive->can_extract = TRUE; in xa_7zip_ask()
243 archive->can_add = archiver[archive->type].is_compressor; in xa_7zip_ask()
244 archive->can_delete = (archiver[archive->type].is_compressor && !SINGLE_FILE_COMPRESSOR(archive)); in xa_7zip_ask()
245 archive->can_sfx = (archive->type == XARCHIVETYPE_7ZIP); in xa_7zip_ask()
246 archive->can_password = (archive->type == XARCHIVETYPE_7ZIP); in xa_7zip_ask()
247 archive->can_full_path[0] = TRUE; in xa_7zip_ask()
248 archive->can_overwrite = TRUE; in xa_7zip_ask()
249 archive->can_update[1] = archiver[archive->type].is_compressor; in xa_7zip_ask()
250archive->can_freshen[1] = (archiver[archive->type].is_compressor && !SINGLE_FILE_COMPRESSOR(archiv… in xa_7zip_ask()
251 archive->can_move = archiver[archive->type].is_compressor; in xa_7zip_ask()
252 archive->can_solid = (archive->type == XARCHIVETYPE_7ZIP); in xa_7zip_ask()
255 static gchar *xa_7zip_password_str (XArchive *archive) in xa_7zip_password_str() argument
257 if (archive->password) in xa_7zip_password_str()
258 return g_strconcat(" -p", archive->password, NULL); in xa_7zip_password_str()
263 static void xa_7zip_parse_output (gchar *line, XArchive *archive) in xa_7zip_parse_output() argument
279 archive->has_password = TRUE; in xa_7zip_parse_output()
337 entry = xa_set_archive_entries_for_each_row(archive, filename, item); in xa_7zip_parse_output()
347 archive->files++; in xa_7zip_parse_output()
349 archive->files_size += g_ascii_strtoull(item[0], NULL, 0); in xa_7zip_parse_output()
355 void xa_7zip_list (XArchive *archive) in xa_7zip_list() argument
362 if (!archive->has_password) in xa_7zip_list()
364 if (archive->type == XARCHIVETYPE_7ZIP) in xa_7zip_list()
365 archive->has_password = is7zip_mhe(archive->path[0]); in xa_7zip_list()
367 archive->has_password = is_encrypted(archive); in xa_7zip_list()
370 if ((archive->type == XARCHIVETYPE_7ZIP) && archive->has_password) in xa_7zip_list()
371 if (!xa_check_password(archive)) in xa_7zip_list()
375 archive->can_add = (archiver[archive->type].is_compressor && !SINGLE_FILE_COMPRESSOR(archive)); in xa_7zip_list()
379 encrypted = archive->has_password; in xa_7zip_list()
381 password_str = xa_7zip_password_str(archive); in xa_7zip_list()
383 if (archive->type == XARCHIVETYPE_CPIO && archive->tag == 'E') in xa_7zip_list()
386 …command = g_strconcat(archiver[archive->type].program[INDEX], " l", password_str, " ", archive->pa… in xa_7zip_list()
390 archive->files_size = 0; in xa_7zip_list()
391 archive->files = 0; in xa_7zip_list()
392 archive->parse_output = xa_7zip_parse_output; in xa_7zip_list()
393 xa_spawn_async_process (archive,command); in xa_7zip_list()
396 archive->columns = 8; in xa_7zip_list()
397 archive->size_column = 2; in xa_7zip_list()
398 archive->column_types = g_malloc0(sizeof(types)); in xa_7zip_list()
400 for (i = 0; i < archive->columns; i++) in xa_7zip_list()
401 archive->column_types[i] = types[i]; in xa_7zip_list()
403 xa_create_liststore(archive, titles); in xa_7zip_list()
406 void xa_7zip_test (XArchive *archive) in xa_7zip_test() argument
410 password_str = xa_7zip_password_str(archive); in xa_7zip_test()
411 …command = g_strconcat(archiver[archive->type].program[INDEX], " t", password_str, " -bd -y ", arch… in xa_7zip_test()
414 xa_run_command(archive, command); in xa_7zip_test()
428 gboolean xa_7zip_extract (XArchive *archive, GSList *file_list) in xa_7zip_extract() argument
435 password_str = xa_7zip_password_str(archive); in xa_7zip_extract()
436 command = g_strconcat(archiver[archive->type].program[INDEX], in xa_7zip_extract()
437 archive->do_full_path ? " x" : " e", in xa_7zip_extract()
438 archive->do_overwrite ? " -aoa" : " -aos", in xa_7zip_extract()
440 archive->path[1], files->str, in xa_7zip_extract()
441 " -o", archive->extraction_dir, NULL); in xa_7zip_extract()
445 result = xa_run_command(archive, command); in xa_7zip_extract()
451 void xa_7zip_add (XArchive *archive, GSList *file_list, gchar *compression) in xa_7zip_add() argument
456 if (archive->location_path != NULL) in xa_7zip_add()
457 archive->child_dir = g_strdup(archive->working_dir); in xa_7zip_add()
463 password_str = xa_7zip_password_str(archive); in xa_7zip_add()
464 solid = g_strconcat(" -ms=", archive->do_solid ? "on" : "off", NULL); in xa_7zip_add()
465 command = g_strconcat(archiver[archive->type].program[0], in xa_7zip_add()
466 archive->do_update ? " u" : " a", in xa_7zip_add()
467 archive->do_freshen ? " -ur0w0x1z1" : "", in xa_7zip_add()
468 archive->do_move ? " -sdel" : "", in xa_7zip_add()
469 archive->type == XARCHIVETYPE_7ZIP ? solid : "", in xa_7zip_add()
472 archive->path[1], files->str, NULL); in xa_7zip_add()
477 xa_run_command(archive, command); in xa_7zip_add()
481 void xa_7zip_delete (XArchive *archive, GSList *file_list) in xa_7zip_delete() argument
487 password_str = xa_7zip_password_str(archive); in xa_7zip_delete()
488 …command = g_strconcat(archiver[archive->type].program[0], " d", password_str, " -bd -spd -y ", arc… in xa_7zip_delete()
492 xa_run_command(archive, command); in xa_7zip_delete()