X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fimport%2Fimport.c;h=b3ebb353570fa09608878ff84e5859171c290037;hp=f44d47df9d23eeadff1b5f9f2e7538b4005b92f9;hb=8af3cf74df03f7528f9e2605ec7896a5daf0f711;hpb=8f6950587ab7b4d6fe1b51241759cc3a4682b96d diff --git a/src/import/import.c b/src/import/import.c index f44d47df9..b3ebb3535 100644 --- a/src/import/import.c +++ b/src/import/import.c @@ -42,10 +42,8 @@ static void on_tar_finished(TarImport *import, int error, void *userdata) { if (error == 0) log_info("Operation completed successfully."); - else - log_error_errno(error, "Operation failed: %m"); - sd_event_exit(event, error); + sd_event_exit(event, EXIT_FAILURE); } static int strip_tar_suffixes(const char *name, char **ret) { @@ -53,10 +51,12 @@ static int strip_tar_suffixes(const char *name, char **ret) { char *s; e = endswith(name, ".tar"); + if (!e) + e = endswith(name, ".tar.xz"); if (!e) e = endswith(name, ".tar.gz"); if (!e) - e = endswith(name, ".tar.xz"); + e = endswith(name, ".tar.bz2"); if (!e) e = endswith(name, ".tgz"); if (!e) @@ -137,7 +137,7 @@ static int pull_tar(int argc, char *argv[], void *userdata) { if (r < 0) return log_error_errno(r, "Failed to allocate importer: %m"); - r = tar_import_pull(import, url, local, arg_force); + r = tar_import_pull(import, url, local, arg_force, arg_verify); if (r < 0) return log_error_errno(r, "Failed to pull image: %m"); @@ -147,7 +147,7 @@ static int pull_tar(int argc, char *argv[], void *userdata) { log_info("Exiting."); - return 0; + return r; } static void on_raw_finished(RawImport *import, int error, void *userdata) { @@ -156,18 +156,19 @@ static void on_raw_finished(RawImport *import, int error, void *userdata) { if (error == 0) log_info("Operation completed successfully."); - else - log_error_errno(error, "Operation failed: %m"); - sd_event_exit(event, error); + sd_event_exit(event, EXIT_FAILURE); } static int strip_raw_suffixes(const char *p, char **ret) { static const char suffixes[] = ".xz\0" + ".gz\0" + ".bz2\0" ".raw\0" ".qcow2\0" - ".img\0"; + ".img\0" + ".bin\0"; _cleanup_free_ char *q = NULL; @@ -273,7 +274,7 @@ static int pull_raw(int argc, char *argv[], void *userdata) { log_info("Exiting."); - return 0; + return r; } static void on_dkr_finished(DkrImport *import, int error, void *userdata) {