Commit: bcf0d449932a83669d80dc0e600a3f8186a6cbc5
Parent: 02d1ec7ddcdb17a6b305cb77c51d865bbc93da28
Author: opask
Date: Fri, 7 Sep 2018 14:39:41 -0600
remove path_to_exe, replace with argv0 where needed
Diffstat:
5 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/default.c b/default.c
@@ -316,12 +316,8 @@ static unsigned char *get_home(int *n)
if (!home) home = stracpy(cast_uchar getenv("HOME"));
if (!home) {
int i;
- home = stracpy(path_to_exe);
- if (!home) {
- free(config_dir);
- return NULL;
- }
- for (i = (int)strlen(cast_const_char home) - 1; i >= 0; i--) if (dir_sep(home[i])) {
+ home = (unsigned char *)argv0;
+ for (i = strlen(argv0) - 1; i >= 0; i--) if (dir_sep(home[i])) {
home[i + 1] = 0;
goto br;
}
diff --git a/links.h b/links.h
@@ -347,7 +347,6 @@ void do_signal(int sig, void (*handler)(int));
uttime get_time(void);
uttime get_absolute_time(void);
void ignore_signals(void);
-void get_path_to_exe(void);
int os_get_system_name(unsigned char *buffer);
unsigned char *os_conv_to_external_path(unsigned char *, unsigned char *);
unsigned char *os_fixup_external_program(unsigned char *);
@@ -1601,7 +1600,7 @@ extern int terminal_pipe[2];
extern int retval;
-extern unsigned char *path_to_exe;
+extern const char *argv0;
extern unsigned char **g_argv;
extern int g_argc;
diff --git a/main.c b/main.c
@@ -21,7 +21,7 @@ static void unhandle_basic_signals(struct terminal *);
static int init_b = 0;
int g_argc;
-unsigned char *path_to_exe;
+const char *argv0;
unsigned char **g_argv;
void
@@ -38,7 +38,7 @@ die(const char *errstr, ...)
void
usage(void)
{
- die("usage: %s [options] [url]\n", g_argv[0]);
+ die("usage: %s [options] [url]\n", argv0);
}
void *
@@ -487,8 +487,7 @@ main(int argc, char *argv[])
{
g_argc = argc;
g_argv = (unsigned char **)argv;
-
- get_path_to_exe();
+ argv0 = argv[0];
select_loop(init);
terminate_all_subsystems();
diff --git a/os_dep.c b/os_dep.c
@@ -312,12 +312,6 @@ void close_fork_tty(void)
EINTRLOOP(rs, close(k->conn));
}
-void get_path_to_exe(void)
-{
- path_to_exe = g_argv[0];
-}
-
-
unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
{
return stracpy(file);
diff --git a/view.c b/view.c
@@ -3102,7 +3102,7 @@ static void send_open_in_new_xterm(struct terminal *term, void *open_window_, vo
enc_url = encode_url(ses->dn_url);
add_to_str(&p, &pl, enc_url);
free(enc_url);
- path = escape_path(path_to_exe);
+ path = escape_path(g_argv[0]);
if (open_window(term, path, p))
cant_open_new_window(term);
free(p);
@@ -3119,7 +3119,7 @@ static void send_open_new_xterm(struct terminal *term, void *open_window_, void
unsigned char *path;
add_to_str(&p, &pl, cast_uchar "-base-session ");
add_num_to_str(&p, &pl, ses->id);
- path = escape_path(path_to_exe);
+ path = escape_path(g_argv[0]);
if (open_window(term, path, p))
cant_open_new_window(term);
free(path);