diff options
| author | Simon <simon@hardwired.org.uk> | 2011-01-30 23:20:12 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-01-30 23:20:12 (GMT) |
| commit | 61292f5355bb85b3e6e293c5c5b0a2de10d0cd2d (patch) | |
| tree | 91722142361954dc6a3d0ea6e140311edf1f1ba0 /src | |
| parent | bcbcb0063b1f3451b4e329b69d275bcabadc788a (diff) | |
| parent | 6aaa9e78cd8ce2e11b6696f979a17d92e1c7fc40 (diff) | |
| download | powder-61292f5355bb85b3e6e293c5c5b0a2de10d0cd2d.zip powder-61292f5355bb85b3e6e293c5c5b0a2de10d0cd2d.tar.gz | |
Fix bugs with console.
Diffstat (limited to 'src')
| -rw-r--r-- | src/interface.c | 5 | ||||
| -rw-r--r-- | src/main.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/interface.c b/src/interface.c index 0d963e0..23359ed 100644 --- a/src/interface.c +++ b/src/interface.c @@ -3883,7 +3883,7 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show currentcommand->prev_command = last_command; currentcommand->command = mystrdup(ed.str); last_command = currentcommand; - return ed.str; + return currentcommand->command; } if (sdl_key==SDLK_ESCAPE || sdl_key==SDLK_BACKQUOTE) { @@ -3898,6 +3898,7 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show if(ci==-1) { strcpy(ed.str, ""); + ed.cursor = strlen(ed.str); } else { @@ -3910,11 +3911,13 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show currentcommand = currentcommand->prev_command; } strcpy(ed.str, currentcommand->command); + ed.cursor = strlen(ed.str); } else { ci = -1; strcpy(ed.str, ""); + ed.cursor = strlen(ed.str); } } } @@ -1121,7 +1121,7 @@ int main(int argc, char *argv[]) pixel *pers_bg=calloc((XRES+BARSIZE)*YRES, PIXELSIZE); void *http_ver_check; char *ver_data=NULL, *tmp; - char error[255]; + char error[255] = ""; int i, j, bq, fire_fc=0, do_check=0, old_version=0, http_ret=0, major, minor, old_ver_len; #ifdef INTERNAL int vs = 0; @@ -1707,6 +1707,7 @@ int main(int argc, char *argv[]) //char error[255] = "error!"; sys_pause = 1; console = console_ui(vid_buf,error); + console = mystrdup(console); strcpy(error,""); if(console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) { @@ -1716,6 +1717,7 @@ int main(int argc, char *argv[]) console5 = strtok(NULL, " "); if(strcmp(console2, "quit")==0) { + free(console); break; } else if(strcmp(console2, "load")==0 && console3) @@ -1955,6 +1957,7 @@ int main(int argc, char *argv[]) else sprintf(error, "Invalid Command", console2); } + free(console); if(!console_mode) hud_enable = 1; } |
