- else if(rc == 1)
- fprintf(stderr, "%s: slot %s: %s\n",
- get_pname(), slotstr, changer_resultstr);
- else if((errstr = tape_rdlabel(device, &datestamp, &label)) != NULL)
- fprintf(stderr, "%s: slot %s: %s\n", get_pname(), slotstr, errstr);
- else {
- fprintf(stderr, "%s: slot %s: date %-8s label %s",
- get_pname(), slotstr, datestamp, label);
- if(strcmp(label, FAKE_LABEL) != 0
- && strcmp(label, searchlabel) != 0)
- fprintf(stderr, " (wrong tape)\n");
- else {
- fprintf(stderr, " (exact label match)\n");
- if((errstr = tape_rewind(device)) != NULL) {
- fprintf(stderr,
- "%s: could not rewind %s: %s",
- get_pname(), device, errstr);
- amfree(errstr);
- }
- found = 1;
- amfree(datestamp);
- amfree(label);
- return 1;
- }
+
+ device_status = device_read_label(device);
+ if (device_status != DEVICE_STATUS_SUCCESS) {
+ g_fprintf(stderr, _("%s: slot %3s: %s\n"),
+ get_pname(), slotstr, device_error_or_status(device));
+ g_object_unref(device);
+ return 0;