src/perl.c

changeset 1949
fb01bcf6743f
parent 1947
ccb4d8d8c8db
child 2048
4ac8b9622c9e
equal deleted inserted replaced
1948:c689b8151305 1949:fb01bcf6743f
615 if (config) gtk_widget_destroy(config); 615 if (config) gtk_widget_destroy(config);
616 config = NULL; 616 config = NULL;
617 } 617 }
618 618
619 static void do_load(GtkWidget *m, gpointer n) { 619 static void do_load(GtkWidget *m, gpointer n) {
620 const char *f = gtk_file_selection_get_filename(GTK_FILE_SELECTION(config)); 620 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(config));
621 gchar* file; 621 gchar *f = NULL;
622 if (!f || !strlen(f)) { 622 if (!file || !strlen(file)) {
623 perl_end(); 623 perl_end();
624 perl_init(); 624 perl_init();
625 return; 625 return;
626 } 626 }
627 file = g_strdup(f);
628 627
629 if (file_is_dir(file, config)) { 628 if (file_is_dir(file, config)) {
630 g_free(file);
631 return; 629 return;
632 } 630 }
633 631
634 if (last_dir) { 632 if (last_dir) {
635 g_free(file);
636 g_free(last_dir); 633 g_free(last_dir);
637 } 634 }
638 last_dir = g_dirname(file); 635 last_dir = g_dirname(file);
639 636
640 debug_printf("Loading perl script: %s\n", file); 637 debug_printf("Loading perl script: %s\n", file);
641 638
642 perl_load_file(file); 639 f = g_strdup(file);
640 perl_load_file(f);
641 g_free(f);
643 cfdes(config, NULL); 642 cfdes(config, NULL);
644 g_free(file);
645 } 643 }
646 644
647 void load_perl_script(GtkWidget *w, gpointer d) 645 void load_perl_script(GtkWidget *w, gpointer d)
648 { 646 {
649 char *buf, *temp; 647 char *buf, *temp;

mercurial