lintian doesn't like orphan packages with uploaders...
[debian/amanda] / recover-src / extract_list.c
index a5a4251341a7b71670a96803c6338dcc623ec3b2..9a453cb0fd8de01d3399efe9b7cd872d91c7659f 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
  * Copyright (c) 1991-1998, 2000 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
@@ -1860,7 +1861,7 @@ extract_files_child(
        /*NOTREACHED*/
     }
 
-    if (ctl_data->file.program != NULL) {
+    if (ctl_data->file.program[0] != '\0') {
        if (strcmp(ctl_data->file.program, "APPLICATION") == 0)
            dumptype = IS_APPLICATION_API;
 #ifdef GNUTAR
@@ -2307,7 +2308,7 @@ extract_files(void)
     g_options.hostname = dump_hostname;
     for (elist = first_tape_list(); elist != NULL;
         elist = next_tape_list(elist)) {
-       level_t *level = g_new0(level_t, 1);
+       am_level_t *level = g_new0(am_level_t, 1);
        level->level = elist->level;
        all_level = g_slist_append(all_level, level);
     }
@@ -2349,13 +2350,13 @@ extract_files(void)
        dump_datestamp = newstralloc(dump_datestamp, elist->date);
 
        if (last_level != -1 && dump_dle) {
-           level_t *level;
+           am_level_t *level;
 
-           level = g_new0(level_t, 1);
+           level = g_new0(am_level_t, 1);
            level->level = last_level;
            dump_dle->levellist = g_slist_append(dump_dle->levellist, level);
 
-           level = g_new0(level_t, 1);
+           level = g_new0(am_level_t, 1);
            level->level = elist->level;
            dump_dle->levellist = g_slist_append(dump_dle->levellist, level);
            run_client_scripts(EXECUTE_ON_INTER_LEVEL_RECOVER, &g_options,
@@ -2372,9 +2373,9 @@ extract_files(void)
            return;
        }
        if (dump_dle) {
-           level_t *level;
+           am_level_t *level;
 
-           level = g_new0(level_t, 1);
+           level = g_new0(am_level_t, 1);
            level->level = elist->level;
            dump_dle->levellist = g_slist_append(dump_dle->levellist, level);
            run_client_scripts(EXECUTE_ON_PRE_LEVEL_RECOVER, &g_options,
@@ -2718,13 +2719,13 @@ read_amidxtaped_data(
 
        g_debug("read header %zd => %d", size, header_size);
        if (header_size < 32768) {
-            security_stream_read(amidxtaped_streams[DATAFD].fd,
-                                read_amidxtaped_data, cookie);
+           /* wait to read more data */
            return;
        } else if (header_size > 32768) {
            error("header_size is %d\n", header_size);
        }
        assert (to_move == size);
+       security_stream_read_cancel(amidxtaped_streams[DATAFD].fd);
        /* parse the file header */
        fh_init(&ctl_data->file);
        parse_file_header(header_buf, &ctl_data->file, (size_t)header_size);
@@ -2788,8 +2789,6 @@ read_amidxtaped_data(
         * We ignore errors while writing to the index file.
         */
        (void)full_write(ctl_data->child_pipe[1], buf, (size_t)size);
-        security_stream_read(amidxtaped_streams[DATAFD].fd,
-                            read_amidxtaped_data, cookie);
     }
 }