mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7f1fa2f89 | ||
|
|
45f60cfbcf | ||
|
|
2243fd6d6b |
@@ -53,7 +53,7 @@ static int rtems_shell_main_chmod(
|
||||
* Now change the files modes
|
||||
*/
|
||||
for (n=2 ; n < argc ; n++)
|
||||
chmod(argv[n++], mode);
|
||||
chmod(argv[n], mode);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -407,6 +407,9 @@ static void move_gap(struct editor *ed, int pos, int minsize) {
|
||||
if (gapsize + MINEXTEND > minsize) minsize = gapsize + MINEXTEND;
|
||||
newsize = (ed->end - ed->start) - gapsize + minsize;
|
||||
start = (unsigned char *) malloc(newsize); // TODO check for out of memory
|
||||
if (start == NULL) {
|
||||
return;
|
||||
}
|
||||
gap = start + pos;
|
||||
rest = gap + minsize;
|
||||
end = start + newsize;
|
||||
@@ -1789,14 +1792,14 @@ static void save_editor(struct editor *ed) {
|
||||
ed->refresh = 1;
|
||||
}
|
||||
|
||||
static void close_editor(struct editor *ed) {
|
||||
static struct editor* close_editor(struct editor *ed) {
|
||||
struct env *env = ed->env;
|
||||
|
||||
if (ed->dirty) {
|
||||
display_message(ed, "Close %s without saving changes (y/n)? ", ed->filename);
|
||||
if (!ask()) {
|
||||
ed->refresh = 1;
|
||||
return;
|
||||
return ed;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1808,6 +1811,7 @@ static void close_editor(struct editor *ed) {
|
||||
new_file(ed, "");
|
||||
}
|
||||
ed->refresh = 1;
|
||||
return ed;
|
||||
}
|
||||
|
||||
static void pipe_command(struct editor *ed) {
|
||||
@@ -2131,15 +2135,7 @@ static void edit(struct editor *ed) {
|
||||
case ctrl('s'): save_editor(ed); break;
|
||||
case ctrl('p'): pipe_command(ed); break;
|
||||
#endif
|
||||
#if defined(__rtems__)
|
||||
/*
|
||||
* Coverity spotted this as using ed after free() so changing
|
||||
* the order of the statements.
|
||||
*/
|
||||
case ctrl('w'): ed = ed->env->current; close_editor(ed); break;
|
||||
#else
|
||||
case ctrl('w'): close_editor(ed); ed = ed->env->current; break;
|
||||
#endif
|
||||
case ctrl('w'): ed = close_editor(ed); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user