diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-23 16:49:30 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-23 16:49:30 +0400 |
commit | 3ff3d1bc0fa6979d0745dbd7526cbb5c35c1fcbf (patch) | |
tree | 99df5ec67111abede3cb2e29b469bb7a1ff2b3ae /source/blender/windowmanager/intern/wm_keymap.c | |
parent | a5bc02194345de1eb21f843b73ce24799677aea1 (diff) |
replace use of strcat() where the string offset is known.
also correct bad logic with converting a textblock to 3d-text, bytes-vs-number of chars wasn't handled right.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 13230f48a15..ff805579b44 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -795,6 +795,7 @@ const char *WM_key_event_string(short type) int WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, const int len) { char buf[128]; + char *p = buf; buf[0] = 0; @@ -803,28 +804,28 @@ int WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, const int len) kmi->alt == KM_ANY && kmi->oskey == KM_ANY) { - strcat(buf, "Any "); + p += BLI_strcpy_rlen(p, "Any "); } else { if (kmi->shift) - strcat(buf, "Shift "); + p += BLI_strcpy_rlen(p, "Shift "); if (kmi->ctrl) - strcat(buf, "Ctrl "); + p += BLI_strcpy_rlen(p, "Ctrl "); if (kmi->alt) - strcat(buf, "Alt "); + p += BLI_strcpy_rlen(p, "Alt "); if (kmi->oskey) - strcat(buf, "Cmd "); + p += BLI_strcpy_rlen(p, "Cmd "); } if (kmi->keymodifier) { - strcat(buf, WM_key_event_string(kmi->keymodifier)); - strcat(buf, " "); + p += BLI_strcpy_rlen(p, WM_key_event_string(kmi->keymodifier)); + p += BLI_strcpy_rlen(p, " "); } - strcat(buf, WM_key_event_string(kmi->type)); + p += BLI_strcpy_rlen(p, WM_key_event_string(kmi->type)); return BLI_strncpy_rlen(str, buf, len); } |