diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cmdline.cpp | 4 | ||||
-rw-r--r-- | src/main.cpp | 15 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/cmdline.cpp b/src/cmdline.cpp index f374efc..2a46a75 100644 --- a/src/cmdline.cpp +++ b/src/cmdline.cpp @@ -63,7 +63,7 @@ void cmdline_keypress(gchar key) { gchar *old_cmdline = NULL; - gint repl_pos; + gint repl_pos = 0; const gchar *insert; gchar *echo; @@ -254,6 +254,7 @@ process_edit_cmd(gchar key) } break; +#ifdef SIGTSTP case CTL_KEY('Z'): /* * <CTL/Z> does not raise signal if handling of @@ -264,6 +265,7 @@ process_edit_cmd(gchar key) raise(SIGTSTP); *insert = '\0'; break; +#endif } return insert; diff --git a/src/main.cpp b/src/main.cpp index 47cd77f..f7ce9a1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -168,25 +168,24 @@ process_options(int &argc, char **&argv) static inline void initialize_environment(void) { - gchar **environ; + gchar **env; g_setenv("SCITECOPATH", DEFAULT_SCITECOPATH, FALSE); - environ = g_get_environ(); + env = g_listenv(); - for (gchar **p = environ; *p; p++) { - gchar *value = strchr(*p, '=') + 1; - gchar name[value - *p + 1]; + for (gchar **key = env; *key; key++) { + gchar name[1 + strlen(*key) + 1]; QRegister *reg; name[0] = '$'; - g_strlcpy(name + 1, *p, sizeof(name) - 1); + strcpy(name + 1, *key); reg = QRegisters::globals.insert(name); - reg->set_string(value); + reg->set_string(g_getenv(*key)); } - g_strfreev(environ); + g_strfreev(env); } int |