/[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.12 by scresto, Sat Feb 26 00:36:55 2005 UTC revision 1.13 by scresto, Sat Feb 26 16:15:40 2005 UTC
# Line 32  Line 32 
32  #define MKISOFS_OK "Total translation table size"  #define MKISOFS_OK "Total translation table size"
33  #define MKISOFS_NOSPACE "No space left on device"  #define MKISOFS_NOSPACE "No space left on device"
34  #define MKISOFS_SUPPORT_ISOV2 "Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2"  #define MKISOFS_SUPPORT_ISOV2 "Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2"
35    #define MKISOFS_CHARSET "Known charsets are:"
36    
37    GSList *Gcharsetlist = NULL;
38    
39    
40  /* on verifie si le support iso9660 version 2 est disponnible ou non */  /* on verifie si le support iso9660 version 2 est disponnible ou non */
# Line 246  _DEB("fin !!"); Line 248  _DEB("fin !!");
248    return TRUE;      return TRUE;  
249  }  }
250    
251    /* recuperation des charsets integré dans mkisofs */
252    gboolean get_builtin_charset(Tgrave *Ag, GError **Aerror)
253    {
254      gchar *Lcommandline, *Lout = NULL, *Lerr = NULL;
255      gboolean Lstatus = TRUE;
256      gchar **Lcharsetl;
257      gint Lexit = 0, i;
258      Tdata *Ldata;
259      gboolean Lajout = FALSE;
260    
261      Lcommandline = g_strdup_printf("%s -input-charset help", conf_get_string("mkisofs"));
262    _DEB("command [%s]", Lcommandline);
263      Lstatus = g_spawn_command_line_sync(Lcommandline, &Lout, &Lerr, &Lexit, Aerror);
264      g_free(Lcommandline);
265    
266      if (Lstatus == FALSE || !Lerr) {
267        g_free(Lout);
268        g_free(Lerr);
269        return FALSE;
270      }
271    
272      Lcharsetl = g_strsplit(Lerr, "\n", 0);
273      g_slist_free(Gcharsetlist);
274      Gcharsetlist = NULL;
275    
276      for (i=0; Lcharsetl[i] && *Lcharsetl[i]; i++) {
277        if (Lajout) {
278          Ldata = g_malloc(sizeof(Tdata));
279          Ldata->data = g_strdup(Lcharsetl[i]);
280          Ldata->label = g_strdup(Lcharsetl[i]);
281          Gcharsetlist = g_slist_append(Gcharsetlist, Ldata);
282        } else if (!strncmp(Lcharsetl[i], MKISOFS_CHARSET, strlen(MKISOFS_CHARSET))) {
283          Lajout = TRUE;
284        }
285      }
286      
287      g_strfreev(Lcharsetl);
288    
289      return TRUE;
290    }
291    
292    void remplirelistecharset(GtkTreeView *Aliste)
293    {
294      GtkListStore *Ldata = GTK_LIST_STORE(gtk_tree_view_get_model(Aliste));
295      GtkTreeIter Liter;
296      gint i;
297      gchar Llabeldevice[50];
298      GSList *Lcur;
299      Tdata *Lptr;
300    
301      gtk_list_store_clear(Ldata);
302    
303      for (Lcur = Gcharsetlist, i=0; Lcur; Lcur = g_slist_next(Lcur), i++) {
304        Lptr = (Tdata *)Lcur->data;
305    
306        gtk_list_store_append(Ldata, &Liter);
307    
308        gtk_list_store_set(Ldata, &Liter, 0, i, 1, GcharsetpetiteIcone, 2,
309              Lptr->data, 3, Lptr->label, -1);
310      }
311    }
312    
313  /*  /*
314   * vim:et:ts=8:sts=2:sw=2   * vim:et:ts=8:sts=2:sw=2
315   */   */

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

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