tvi: exit if ex_init() fails - neatvi - [fork] simple vi-type editor with UTF-8… | |
git clone git://src.adamsgaard.dk/neatvi | |
Log | |
Files | |
Refs | |
README | |
--- | |
commit f614d398653cac4aad4dbc17d730145b11c33167 | |
parent 1792d21d88ee1fcb629fed89d35406957cc305b3 | |
Author: Ali Gholami Rudi <[email protected]> | |
Date: Sat, 25 Jul 2015 19:24:09 +0430 | |
vi: exit if ex_init() fails | |
Diffstat: | |
M ex.c | 6 ++++-- | |
M vi.c | 17 +++++++++-------- | |
M vi.h | 2 +- | |
3 files changed, 14 insertions(+), 11 deletions(-) | |
--- | |
diff --git a/ex.c b/ex.c | |
t@@ -810,13 +810,15 @@ void ex(void) | |
} | |
} | |
-void ex_init(char **files) | |
+int ex_init(char **files) | |
{ | |
char cmd[EXLEN]; | |
snprintf(cmd, sizeof(cmd), "e %s", files[0] ? files[0] : ""); | |
- ec_edit(cmd); | |
+ if (ec_edit(cmd)) | |
+ return 1; | |
if (getenv("EXINIT")) | |
ex_command(getenv("EXINIT")); | |
+ return 0; | |
} | |
void ex_done(void) | |
diff --git a/vi.c b/vi.c | |
t@@ -1294,14 +1294,15 @@ int main(int argc, char *argv[]) | |
syn_init(); | |
if (xled || xvis) | |
term_init(); | |
- ex_init(argv + i); | |
- if (xvis) | |
- vi(); | |
- else | |
- ex(); | |
- if (xled || xvis) | |
- term_done(); | |
- ex_done(); | |
+ if (!ex_init(argv + i)) { | |
+ if (xvis) | |
+ vi(); | |
+ else | |
+ ex(); | |
+ if (xled || xvis) | |
+ term_done(); | |
+ ex_done(); | |
+ } | |
reg_done(); | |
syn_done(); | |
dir_done(); | |
diff --git a/vi.h b/vi.h | |
t@@ -138,7 +138,7 @@ void ex_command(char *cmd); | |
char *ex_read(char *msg); | |
void ex_print(char *line); | |
void ex_show(char *msg); | |
-void ex_init(char **files); | |
+int ex_init(char **files); | |
void ex_done(void); | |
char *ex_path(void); | |
char *ex_filetype(void); |