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

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

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

revision 1.6 by scresto, Sat Feb 19 17:49:08 2005 UTC revision 1.7 by scresto, Sun Feb 20 17:45:02 2005 UTC
# Line 31  gboolean foreachfiles(GtkTreeModel *Amod Line 31  gboolean foreachfiles(GtkTreeModel *Amod
31    Tgrave *Lg = (Tgrave *)Adata;    Tgrave *Lg = (Tgrave *)Adata;
32    gchar *Lonlyname = NULL, *Lnom = NULL, *Lnomutf8 = NULL;    gchar *Lonlyname = NULL, *Lnom = NULL, *Lnomutf8 = NULL;
33    gchar *Lonlynameparent = NULL;    gchar *Lonlynameparent = NULL;
34    gchar **Ltmpdir = (gchar **) sc_grave_get_data(Lg, "tmpdir");      gchar *Ltmpdir = (gchar *) sc_grave_get_data(Lg, "tmpdir");  
35    GError **Lerror = (GError **) sc_grave_get_data(Lg, "gerror");    GError **Lerror = (GError **) sc_grave_get_data(Lg, "gerror");
36    gchar Lnewname[10000];    gchar Lnewname[MAXPATHLEN];
37    gchar Lparents[10000], Ltmp[10000];    gchar Lparents[MAXPATHLEN], Ltmp[MAXPATHLEN];
38    GtkTreeIter LparentIter;    GtkTreeIter LparentIter;
39    GtkTreePath *Lparentpath;    GtkTreePath *Lparentpath;
40    gboolean Lreturn = FALSE;    gboolean Lreturn = FALSE;
# Line 63  gboolean foreachfiles(GtkTreeModel *Amod Line 63  gboolean foreachfiles(GtkTreeModel *Amod
63      gtk_tree_path_free(Lparentpath);      gtk_tree_path_free(Lparentpath);
64    
65      if (!Lreturn) {      if (!Lreturn) {
66        g_snprintf(Lnewname, sizeof(Lnewname)-1, "%s/%s%s", *Ltmpdir, Lparents, Lonlyname);        g_snprintf(Lnewname, sizeof(Lnewname)-1, "%s/%s%s", Ltmpdir, Lparents, Lonlyname);
67    
68        if (Ltype == TYPE_DIR) {        if (Ltype == TYPE_DIR) {
69          /* si c'est un repertoire alors on le cree */          /* si c'est un repertoire alors on le cree */
# Line 99  gboolean foreachfiles(GtkTreeModel *Amod Line 99  gboolean foreachfiles(GtkTreeModel *Amod
99   * temporraire et des liens qui vont servir a creer l'image a graver */   * temporraire et des liens qui vont servir a creer l'image a graver */
100  gboolean preparedata(Tgrave *Ag, GError **Aerror)  gboolean preparedata(Tgrave *Ag, GError **Aerror)
101  {  {
102    gchar **Ltmpdir = (gchar **)sc_grave_get_data(Ag, "tmpdir");    gchar *Ltmpdir = (gchar *)sc_grave_get_data(Ag, "tmpdir");
103    GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_widget(Ag, "gravetitle"));    GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_data(Ag, "gravetitle"));
104    GtkTreeModel *LTreeModel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_data(Ag, "_current_list")));    GtkTreeModel *LTreeModel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_data(Ag, "_current_list")));
   gchar *Lnamedir;  
105    gboolean Lstatus = TRUE;    gboolean Lstatus = TRUE;
106        
107    g_assert(LTreeModel);    g_assert(LTreeModel);
108    
109    Lnamedir = g_strdup_printf("%s/%s", conf_get_string_def("tmpdir", "/tmp"), "gravemanXXXXXX");    g_snprintf(Ltmpdir, MAXPATHLEN-1, "%s/%s", conf_get_string_def("tmpdir", "/tmp"), "gravemanXXXXXX");
110    
111    gtk_label_set_text(Ltitle, _("Prepare files..."));    gtk_label_set_text(Ltitle, _("Prepare files..."));
112    
113    if (!mkdtemp(Lnamedir)) {    if (!mkdtemp(Ltmpdir)) {
114      g_set_error(Aerror, G_FILE_ERROR, g_file_error_from_errno(errno), "%s %s: %s",      g_set_error(Aerror, G_FILE_ERROR, g_file_error_from_errno(errno), "%s %s: %s",
115               _("Cannot create directory"), Lnamedir, g_strerror(errno));                   _("Cannot create directory"), Ltmpdir, g_strerror(errno));
116        *Ltmpdir = 0;
117      Lstatus = FALSE;      Lstatus = FALSE;
118    } else {    } else {
     *Ltmpdir = Lnamedir;  
119            
120      /* conversion de chaques fichiers */      /* conversion de chaques fichiers */
121      gtk_tree_model_foreach(LTreeModel, foreachfiles, Ag);      gtk_tree_model_foreach(LTreeModel, foreachfiles, Ag);
# Line 125  gboolean preparedata(Tgrave *Ag, GError Line 124  gboolean preparedata(Tgrave *Ag, GError
124      if ((GError *)*Aerror) Lstatus = FALSE;      if ((GError *)*Aerror) Lstatus = FALSE;
125    }    }
126    
   if (Lstatus == FALSE)  
   {  
     g_free(Lnamedir);  
     *Ltmpdir = NULL;  
   }    
127    return Lstatus;    return Lstatus;
128  }  }
129    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

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