diff options
author | louie <lshprung@yahoo.com> | 2020-07-06 11:17:29 -0700 |
---|---|---|
committer | louie <lshprung@yahoo.com> | 2020-07-06 11:17:29 -0700 |
commit | 5ee2e091adf1aca46eb5e93c7733fff9c8ce6500 (patch) | |
tree | f6562ec9546a5ed16b39f58341e9039651f556a5 /draw.c | |
parent | 762fc562b23b5b85ae4a19021679b5895bfb339d (diff) |
get_epath bug fix
Diffstat (limited to 'draw.c')
-rw-r--r-- | draw.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -310,12 +310,15 @@ void trav_col(int dir){ return; } +//TODO clean up quotes void launch_entry(){ char *program = get_gprog(g[g_hover]); char *flags = get_gflags(g[g_hover]); char *path = get_epath(e[e_hover]); int mode = get_compmode(); char full_command[BUF_LEN]; + bool quote_flag_f = (flags[0] == '"' ? false : true); + bool quote_flag_e = (path[0] == '"' ? false : true); //if the entry is an executable file (doesn't have a launcher) if(!(strcmp(program, "./"))) system(path); @@ -324,14 +327,17 @@ void launch_entry(){ if(mode != 0) path = compat_convert(path, mode); full_command[0] = '\0'; strcat(full_command, program); - strcat(full_command, " \""); if(flags[0] !='\0'){ + strcat(full_command, " "); + if(quote_flag_f) strcat(full_command, "\""); strcat(full_command, flags); - strcat(full_command, "\""); - strcat(full_command, " \""); + if(quote_flag_f) strcat(full_command, "\""); } + strcat(full_command, " "); + if(quote_flag_e) strcat(full_command, "\""); strcat(full_command, path); - strcat(full_command, "\""); + if(quote_flag_e) strcat(full_command, "\""); + mvprintw(0, 0, "DEBUG: %s", full_command); system(full_command); } |