From a7277acfda76d9c77a299dd41b9ee404e1f44e92 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Fri, 3 Dec 2021 23:59:46 +0100 Subject: [PATCH] some more brace protected filenames in C tcl calls --- src/actions.c | 2 +- src/icon.c | 28 ++++++++++++++-------------- src/icon.xpm | 28 ++++++++++++++-------------- src/xinit.c | 2 +- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/actions.c b/src/actions.c index 9ea0c7f3..646aae6a 100644 --- a/src/actions.c +++ b/src/actions.c @@ -150,7 +150,7 @@ void set_grid(double newgrid) int set_netlist_dir(int force, char *dir) { char cmd[PATH_MAX+200]; - if(dir) my_snprintf(cmd, S(cmd), "select_netlist_dir %d %s", force, dir); + if(dir) my_snprintf(cmd, S(cmd), "select_netlist_dir %d {%s}", force, dir); else my_snprintf(cmd, S(cmd), "select_netlist_dir %d", force); tcleval(cmd); if(!strcmp("", tclresult()) ) { diff --git a/src/icon.c b/src/icon.c index 6aab0516..b2b2f507 100644 --- a/src/icon.c +++ b/src/icon.c @@ -32,44 +32,44 @@ char *cad_icon[] = { "+ c None", /* pixels */ "++++++++++++++++++++++++++++++++++++++++++++++++++++++++", -"+++++++++++++++++++++oooo+++++++++++++++++oooo++++++++++", +"+++++++++++++++++++++ooo++++++++++++++++++ooo+++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", "++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", +"++++++++++++++++++++++ +++++++++++++++++++ +++++++++++", +"++++++++++++++++++++o+ OOOOOOO+++++++++++o+ OOOOOOO+++++", "++++++++++++++++++++o+o++++++O+++++++++++o+o++++++O+++++", "++++++++++++++++++o+ooo++++++O+++++++++o+ooo++++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "+++++++++++++++++oo+o++++++++O++++++++oo+o++++++++O+++++", -"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++", +"++++++++++++OOOO oo+oo OOOOOOO+++OOOO oo+oo OOOOOOO+++++", "++++++++++++O++ oo+o+ +++++++++O++ oo+o+ +++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++++ooo++++++++++O+++++++ooo++++++++++++", "++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++", "++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", -".+ OOOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOOO ", -"X+ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", +"++ OOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOO ", +"++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", "++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++", "++++++++++++O+++++++o+o++++++++++O+++++++o+o++++++++++++", "++++++++++++O+++++o+ooo++++++++++O+++++o+ooo++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", -"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++", +"++++++++++++OOOO oo+oo OOOOOOO+++OOOO oo+oo OOOOOOO+++++", "+++++++++++++++ +o+o+ +++++O++++++ +o+o+ +++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "++++++++++++++++++++ooo++++++O+++++++++++ooo++++++O+++++", -"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", +"++++++++++++++++++++o+ OOOOOOO+++++++++++o+ OOOOOOO+++++", +"++++++++++++++++++++++ +++++++++++++++++++ +++++++++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", "++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", -"+++++++++++++++++++++ooo+++++++++++++++++++oo+++++++++++", +"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", +"+++++++++++++++++++++ooo++++++++++++++++++ooo+++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", "++++++++++++++++++++++++++++++++++++++++++++++++++++++++", "++++++++++++++++++++++++++++++++++++++++++++++++++++++++" diff --git a/src/icon.xpm b/src/icon.xpm index 6010d5be..eb03062f 100644 --- a/src/icon.xpm +++ b/src/icon.xpm @@ -10,44 +10,44 @@ static char *icon[] = { "+ c None", /* pixels */ "++++++++++++++++++++++++++++++++++++++++++++++++++++++++", -"+++++++++++++++++++++oooo+++++++++++++++++oooo++++++++++", +"+++++++++++++++++++++ooo++++++++++++++++++ooo+++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", "++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", +"++++++++++++++++++++++ +++++++++++++++++++ +++++++++++", +"++++++++++++++++++++o+ OOOOOOO+++++++++++o+ OOOOOOO+++++", "++++++++++++++++++++o+o++++++O+++++++++++o+o++++++O+++++", "++++++++++++++++++o+ooo++++++O+++++++++o+ooo++++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "+++++++++++++++++oo+o++++++++O++++++++oo+o++++++++O+++++", -"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++", +"++++++++++++OOOO oo+oo OOOOOOO+++OOOO oo+oo OOOOOOO+++++", "++++++++++++O++ oo+o+ +++++++++O++ oo+o+ +++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++++ooo++++++++++O+++++++ooo++++++++++++", "++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++", "++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", -".+ OOOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOOO ", -"X+ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", +"++ OOOOOOO+++++++++OOOOOOOOOOOO+++++++++OOOOOOOOO ", +"++ +++++++O+++++++++O +++++++++O+++++++++O +++++++ +", "++++++++++++O+++++++o+O +++++++++O+++++++o+O +++++++++++", "++++++++++++O+++++++o+o++++++++++O+++++++o+o++++++++++++", "++++++++++++O+++++o+ooo++++++++++O+++++o+ooo++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", "++++++++++++O+++++o+o++++++++++++O+++++o+o++++++++++++++", -"++++++++++++OOOO oo+ooOOOOOOOO+++OOOO oo+ooOOOOOOOO+++++", +"++++++++++++OOOO oo+oo OOOOOOO+++OOOO oo+oo OOOOOOO+++++", "+++++++++++++++ +o+o+ +++++O++++++ +o+o+ +++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "++++++++++++++++++o+o++++++++O+++++++++o+o++++++++O+++++", "++++++++++++++++++++ooo++++++O+++++++++++ooo++++++O+++++", -"++++++++++++++++++++o+OOOOOOOO+++++++++++o+OOOOOOOO+++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", +"++++++++++++++++++++o+ OOOOOOO+++++++++++o+ OOOOOOO+++++", +"++++++++++++++++++++++ +++++++++++++++++++ +++++++++++", +"++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", "++++++++++++++++++++++O++++++++++++++++++++O++++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", -"++++++++++++++++++++++O +++++++++++++++++++O +++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", -"+++++++++++++++++++++ooo+++++++++++++++++++oo+++++++++++", +"++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", +"+++++++++++++++++++++ooo++++++++++++++++++ooo+++++++++++", "++++++++++++++++++++++o++++++++++++++++++++o++++++++++++", "++++++++++++++++++++++++++++++++++++++++++++++++++++++++", "++++++++++++++++++++++++++++++++++++++++++++++++++++++++" diff --git a/src/xinit.c b/src/xinit.c index c915b2fb..f2a39d39 100644 --- a/src/xinit.c +++ b/src/xinit.c @@ -1378,7 +1378,7 @@ int Tcl_AppInit(Tcl_Interp *inter) my_strcat(416, &win_xschem_library_path, "\;"); my_strcat(431, &win_xschem_library_path, tmp); } - my_snprintf(tmp, S(tmp), "set tmp2 \"%s\"; " + my_snprintf(tmp, S(tmp), "set tmp2 {%s}; " "while {[regsub {([^/]*\\.*[^./]+[^/]*)/\\.\\./?} $tmp2 {} tmp2]} {}; ", win_xschem_library_path); const char *result2 = tcleval(tmp); const char *win_xschem_library_path_clean = tclgetvar("tmp2");