summaryrefslogtreecommitdiff
path: root/train_gui.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-05-15 18:50:55 +0000
committertron <tron@openttd.org>2005-05-15 18:50:55 +0000
commitfea596567944fba8d9d4ead62d948db14690fdf1 (patch)
treead6dc27f46725e511e93e061f51683311027ec65 /train_gui.c
parent6cd410afbb3cedff9f6d86fc30dbd4e67817ebc9 (diff)
downloadopenttd-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.c21
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;
}
}