/[graveman]/graveman/current/src/mkisofs.c
ViewVC logotype

Diff of /graveman/current/src/mkisofs.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by scresto, Tue Feb 1 02:35:19 2005 UTC revision 1.5 by scresto, Tue Feb 8 02:32:57 2005 UTC
# Line 33  Line 33 
33  #define MKISOFS_NOSPACE "No space left on device"  #define MKISOFS_NOSPACE "No space left on device"
34    
35  /* recherche les parametres supplementaires a passer a mkisofs */  /* recherche les parametres supplementaires a passer a mkisofs */
36  gchar *make_image_getextrapara(GHashTable *Ahash)  gchar *make_image_getextrapara(GHashTable *Ahash, gchar *Aop)
37  {  {
38    const gchar *Ldatavoli = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "datavoli")));    const gchar *Ldatavoli = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%svoli", Aop)));
39    const gchar *Ldatapubl = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "datapubl")));    const gchar *Ldatapubl = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%spubl", Aop)));
40    const gchar *Ldataprep = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "dataprep")));    const gchar *Ldataprep = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%sprep", Aop)));
41    const gchar *Ldatabibl = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "databibl")));    const gchar *Ldatabibl = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%sbibl", Aop)));
42    const gchar *Ldatacopy = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "datacopy")));    const gchar *Ldatacopy = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%scopy", Aop)));
43    const gchar *Ldataabst = gtk_entry_get_text(GTK_ENTRY(g_hash_table_lookup(Ahash, "dataabst")));    const gchar *Ldataabst = gtk_entry_get_text(GTK_ENTRY(sc_hash_table_lookupv(Ahash, "%sabst", Aop)));
   gboolean Lrockridge = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "datarockridge")));  
   gboolean Ljoliet = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "datajoliet")));  
   gchar *Lisolevel = get_combo_value(g_hash_table_lookup(Ahash, "dataisolevel"));  
44    gchar *Lreturn;    gchar *Lreturn;
45      gchar *Lextra = NULL;
46      GtkTextIter Lstart, Lend;
47      GtkTextBuffer *Lbufappi = gtk_text_view_get_buffer (GTK_TEXT_VIEW (sc_hash_table_lookupv(Ahash, "%sappi", Aop)));
48      char *Ldataappi, *Ltmpappi;
49      gtk_text_buffer_get_bounds (Lbufappi, &Lstart, &Lend);
50      Ltmpappi = gtk_text_iter_get_text (&Lstart, &Lend);
51      Ldataappi = g_strescape(Ltmpappi, "");
52      g_free(Ltmpappi);
53    
54      if (!strcmp(Aop, "data")) { /* data cd */
55        gboolean Lrockridge = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "datarockridge")));
56        gboolean Ljoliet = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "datajoliet")));
57        gchar *Lisolevel = get_combo_value(g_hash_table_lookup(Ahash, "dataisolevel"));
58    
59        Lextra = g_strdup_printf("%s %s -iso-level %s", Lrockridge == TRUE ? "-r" : "", Ljoliet ? "-J" : "", Lisolevel);
60        g_free(Lisolevel);
61      } else {  /* data dvd */
62        Lextra = g_strdup("-R -J");
63      }
64    
65      Lreturn = g_strdup_printf("-V \"%s\" -A \"%s\" -publisher \"%s\" -p \"%s\" -biblio \"%s\" -copyright \"%s\" "
66                "-abstract \"%s\" %s",
67                _NN(Ldatavoli), _NN(Ldataappi), _NN(Ldatapubl), _NN(Ldataprep), _NN(Ldatabibl), _NN(Ldatacopy),
68                _NN(Ldataabst), Lextra);
69      g_free(Lextra);
70    
   Lreturn = g_strdup_printf("-V \"%s\" -publisher \"%s\" -p \"%s\" -biblio \"%s\" -copyright \"%s\" -abstract \"%s\" %s %s"  
                                    " -iso-level %s",  
             _NN(Ldatavoli), _NN(Ldatapubl), _NN(Ldataprep), _NN(Ldatabibl), _NN(Ldatacopy), _NN(Ldataabst),  
             Lrockridge == TRUE ? "-r" : "", Ljoliet ? "-J" : "", Lisolevel);  
   g_free(Lisolevel);  
71    return Lreturn;    return Lreturn;
72  }  }
73    
# Line 152  gboolean make_iso(GHashTable *Ahash, GEr Line 169  gboolean make_iso(GHashTable *Ahash, GEr
169    }    }
170    
171    Lstatus = g_spawn_async_with_pipes(NULL, Lcmd, NULL, /* env argument */    Lstatus = g_spawn_async_with_pipes(NULL, Lcmd, NULL, /* env argument */
172      (GSpawnFlags ) (0),      (GSpawnFlags ) (G_SPAWN_DO_NOT_REAP_CHILD),
173       NULL, NULL, Lpid, NULL, &g_out, &g_err, Aerror);       NULL, NULL, Lpid, NULL, &g_out, &g_err, Aerror);
174    g_strfreev(Lcmd);    g_strfreev(Lcmd);
175    
# Line 176  _DEB("debut !!"); Line 193  _DEB("debut !!");
193    while (*Lcont > 0 && *Labort == FALSE) {    while (*Lcont > 0 && *Labort == FALSE) {
194     gtk_main_iteration();     gtk_main_iteration();
195    }    }
196      exit_prog(*Lpid, Aerror, NULL);
197    
198  _DEB("fin !!");  _DEB("fin !!");
199    
200    g_source_remove(Lcomerrevent);    g_source_remove(Lcomerrevent);
201    g_source_remove(Lcomevent);    g_source_remove(Lcomevent);
202    
203    /* fermeture readcd */    /* fermeture mkisofs */
204    g_io_channel_shutdown(Lcomerr, FALSE, NULL);    g_io_channel_shutdown(Lcomerr, FALSE, NULL);
205    g_io_channel_unref(Lcomerr);      g_io_channel_unref(Lcomerr);  
206    g_io_channel_shutdown(Lcom, FALSE, NULL);    g_io_channel_shutdown(Lcom, FALSE, NULL);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26