aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfinalpatch <fengli@gmail.com>2019-12-02 22:13:48 +1100
committerfinalpatch <fengli@gmail.com>2019-12-02 22:13:48 +1100
commit1006fb8d1d61c79fe05827929fce0a0f6270798c (patch)
treeda8ce80a2d7991a39c78ac78b2f9bbce2e2006fc
parent5b2aef16787558f8f8036ab5c81ad1d0a45e703a (diff)
fix vterm--get-pwd crash
-rw-r--r--vterm-module.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vterm-module.c b/vterm-module.c
index eae80f3..3697183 100644
--- a/vterm-module.c
+++ b/vterm-module.c
@@ -185,7 +185,8 @@ static char *get_row_directory(Term *term, int row) {
return sbrow->info->directory;
/* return term->dirs[0]; */
} else {
- return term->lines[row]->directory;
+ LineInfo* line = term->lines[row];
+ return line ? line->directory : NULL;
}
}
static LineInfo *get_lineinfo(Term *term, int row) {
@@ -1015,7 +1016,7 @@ emacs_value Fvterm_get_pwd(emacs_env *env, ptrdiff_t nargs, emacs_value args[],
int row = linenr_to_row(term, linenum);
char *dir = get_row_directory(term, row);
- return env->make_string(env, dir, strlen(dir));
+ return dir ? env->make_string(env, dir, strlen(dir)) : Qnil;
}
emacs_value Fvterm_get_icrnl(emacs_env *env, ptrdiff_t nargs,