X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Famtape.c;h=11d002212e7cb743443e5710e67d5c98d89a9fde;hb=e442edb4d5816c4ad107ad9e71164f845eba70ad;hp=fed07efd571fb00e5307920f16b84c8143671845;hpb=fb2bd066c2f8b34addafe48d62550e3033a59431;p=debian%2Famanda diff --git a/server-src/amtape.c b/server-src/amtape.c index fed07ef..11d0022 100644 --- a/server-src/amtape.c +++ b/server-src/amtape.c @@ -135,6 +135,8 @@ main( dbopen(DBG_SUBDIR_SERVER); + malloc_size_1 = malloc_inuse(&malloc_hist_1); + erroutput_type = ERR_INTERACTIVE; cfg_ovr = extract_commandline_config_overwrites(&argc, &argv); @@ -189,6 +191,9 @@ reset_changer(G_GNUC_UNUSED int argc, G_GNUC_UNUSED char ** argv) { char *slotstr = NULL; + (void)argc; /* Quiet unused parameter warning */ + (void)argv; /* Quiet unused parameter warning */ + switch(changer_reset(&slotstr)) { case 0: g_fprintf(stderr, _("%s: changer is reset, slot %s is loaded.\n"), @@ -212,6 +217,9 @@ clean_tape(G_GNUC_UNUSED int argc, G_GNUC_UNUSED char ** argv) { char *devstr = NULL; + (void)argc; /* Quiet unused parameter warning */ + (void)argv; /* Quiet unused parameter warning */ + if(changer_clean(&devstr) == 0) { g_fprintf(stderr, _("%s: device %s is clean.\n"), get_pname(), devstr); } else { @@ -228,6 +236,9 @@ eject_tape(G_GNUC_UNUSED int argc, G_GNUC_UNUSED char ** argv) { char *slotstr = NULL; + (void)argc; /* Quiet unused parameter warning */ + (void)argv; /* Quiet unused parameter warning */ + if(changer_eject(&slotstr) == 0) { g_fprintf(stderr, _("%s: slot %3s is ejected.\n"), get_pname(), slotstr); } else { @@ -294,6 +305,9 @@ scan_init(G_GNUC_UNUSED void * data, int rc, G_GNUC_UNUSED int numslots, /*NOTREACHED*/ } + nslots = ns; + backwards = bk; + return 0; } @@ -534,3 +548,48 @@ show_device(G_GNUC_UNUSED int argc, amfree(slot); amfree(device); } + +/* ---------------------------- */ + +int +update_one_slot( + void * ud, + int rc, + char * slotstr, + char * device) +{ + char *errstr = NULL; + char *datestamp = NULL; + char *label = NULL; + + (void)ud; /* Quiet unused parameter warning */ + + if(rc > 1) + error("could not load slot %s: %s", slotstr, changer_resultstr); + else if(rc == 1) + fprintf(stderr, "slot %s: %s\n", slotstr, changer_resultstr); + else if((errstr = tape_rdlabel(device, &datestamp, &label)) != NULL) + fprintf(stderr, "slot %s: %s\n", slotstr, errstr); + else { + fprintf(stderr, "slot %s: date %-8s label %s\n", + slotstr, datestamp, label); + changer_label(slotstr, label); + } + amfree(errstr); + amfree(datestamp); + amfree(label); + return 0; +} + +void +update_labeldb( + int argc, + char ** argv) +{ + (void)argv; /* Quiet unused parameter warning */ + + if(argc != 1) + usage(); + + changer_find(NULL, show_init_all, update_one_slot, NULL); +}