diff options
| author | finalpatch <fengli@gmail.com> | 2019-12-02 22:13:48 +1100 |
|---|---|---|
| committer | finalpatch <fengli@gmail.com> | 2019-12-02 22:13:48 +1100 |
| commit | 1006fb8d1d61c79fe05827929fce0a0f6270798c (patch) | |
| tree | da8ce80a2d7991a39c78ac78b2f9bbce2e2006fc /vterm-module.c | |
| parent | 5b2aef16787558f8f8036ab5c81ad1d0a45e703a (diff) | |
fix vterm--get-pwd crash
Diffstat (limited to 'vterm-module.c')
| -rw-r--r-- | vterm-module.c | 5 |
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, |
