lintian doesn't like orphan packages with uploaders...
[debian/amanda] / device-src / dvdrw-device.c
index ddae35e45130897c5b44aa2e8cad4934a9a7c76d..7525bbf5d2e7d1ede224036f860cd8863ead87c1 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
  * Copyright (c) 2009 University of Maryland at College Park
+ * Copyright (c) 2007-2012 Zmanda, Inc.  All Rights Reserved.
  * All Rights Reserved.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -321,6 +322,12 @@ dvdrw_device_init (DvdRwDevice *self)
     device_set_simple_property(dself, PROPERTY_FULL_DELETION,
        &val, PROPERTY_SURETY_GOOD, PROPERTY_SOURCE_DETECTED);
     g_value_unset(&val);
+
+    g_value_init(&val, G_TYPE_BOOLEAN);
+    g_value_set_boolean(&val, TRUE);
+    device_set_simple_property(dself, PROPERTY_LEOM,
+       &val, PROPERTY_SURETY_GOOD, PROPERTY_SOURCE_DETECTED);
+    g_value_unset(&val);
 }
 
 static gboolean
@@ -511,22 +518,13 @@ dvdrw_device_finish(Device *dself)
     /* Save access mode before parent class messes with it */
     mode = dself->access_mode;
 
-    if (device_in_error(dself)) {
-       if (mode == ACCESS_READ) {
-           /* Still need to do this, don't care if it works or not */
-           unmount_disc(self);
-       }
-
-       return FALSE;
-    }
-
     result = parent_class->finish(dself);
 
     if (mode == ACCESS_READ) {
        unmount_disc(self);
     }
 
-    if (! result) {
+    if (!result || device_in_error(dself)) {
        return FALSE;
     }
 
@@ -693,7 +691,6 @@ execute_command(DvdRwDevice *self, gchar **argv, gint *result)
     gint errnum = 0;
     GError *error = NULL;
     gboolean success;
-    int signum = 0;
 
     /* g_debug("Executing: %s", argv[0]); */
 
@@ -704,7 +701,6 @@ execute_command(DvdRwDevice *self, gchar **argv, gint *result)
 
     if (WIFSIGNALED(errnum)) {
        success = FALSE;
-       signum = WTERMSIG(errnum);
     } else if (WIFEXITED(errnum)) {
        success = (WEXITSTATUS(errnum) == 0);
     } else {