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 | 4eebeff58cf65654f0ad2083b83f701c761dcbd8 (patch) | |
tree | ad6dc27f46725e511e93e061f51683311027ec65 /ship_gui.c | |
parent | 0375f303364393e80cae54705c6e2177ed0674b8 (diff) | |
download | openttd-4eebeff58cf65654f0ad2083b83f701c761dcbd8.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 'ship_gui.c')
-rw-r--r-- | ship_gui.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/ship_gui.c b/ship_gui.c index 1e1428de2..70e39c49e 100644 --- a/ship_gui.c +++ b/ship_gui.c @@ -236,11 +236,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_9832_CAN_T_NAME_SHIP)); + if (e->edittext.str[0] != '\0') { + _cmd_text = e->edittext.str; + DoCommandP(0, w->window_number, 0, NULL, + CMD_NAME_VEHICLE | CMD_MSG(STR_9832_CAN_T_NAME_SHIP)); + } } break; } @@ -378,11 +378,11 @@ static void NewShipWndProc(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_9839_CAN_T_RENAME_SHIP_TYPE)); + 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_9839_CAN_T_RENAME_SHIP_TYPE)); + } } break; case WE_RESIZE: |