diff options
author | tron <tron@openttd.org> | 2005-05-15 18:50:55 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-05-15 18:50:55 +0000 |
commit | fea596567944fba8d9d4ead62d948db14690fdf1 (patch) | |
tree | ad6dc27f46725e511e93e061f51683311027ec65 /train_gui.c | |
parent | 6cd410afbb3cedff9f6d86fc30dbd4e67817ebc9 (diff) | |
download | openttd-fea596567944fba8d9d4ead62d948db14690fdf1.tar.xz |
(svn r2324) Introduce _cmd_text for passing strings with a command instead of abusing _decode_parameters as text buffer. This should prevent several possible buffer overruns and is a bit cleaner to use. As bonus it reduces the size of most command packets by 79 bytes.
Diffstat (limited to 'train_gui.c')
-rw-r--r-- | train_gui.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/train_gui.c b/train_gui.c index 3cc68811f..1e8ce749c 100644 --- a/train_gui.c +++ b/train_gui.c @@ -219,12 +219,11 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e) break; case WE_ON_EDIT_TEXT: { - const char *b = e->edittext.str; - if (*b == 0) - return; - - memcpy(_decode_parameters, b, 32); - DoCommandP(0, WP(w,buildtrain_d).rename_engine, 0, NULL, CMD_RENAME_ENGINE | CMD_MSG(STR_886B_CAN_T_RENAME_TRAIN_VEHICLE)); + if (e->edittext.str[0] != '\0') { + _cmd_text = e->edittext.str; + DoCommandP(0, WP(w,buildtrain_d).rename_engine, 0, NULL, + CMD_RENAME_ENGINE | CMD_MSG(STR_886B_CAN_T_RENAME_TRAIN_VEHICLE)); + } } break; case WE_RESIZE: { @@ -1144,11 +1143,11 @@ do_change_service_int: break; case WE_ON_EDIT_TEXT: { - const char *b = e->edittext.str; - if (*b == 0) - return; - memcpy(_decode_parameters, b, 32); - DoCommandP(0, w->window_number, 0, NULL, CMD_NAME_VEHICLE | CMD_MSG(STR_8866_CAN_T_NAME_TRAIN)); + if (e->edittext.str[0] != '\0') { + _cmd_text = e->edittext.str; + DoCommandP(0, w->window_number, 0, NULL, + CMD_NAME_VEHICLE | CMD_MSG(STR_8866_CAN_T_NAME_TRAIN)); + } } break; } } |