[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57495] trunk/blender/source/blender: add BLI_strcpy_rlen, replace strcat, which was used in misleading way.

Campbell Barton ideasman42 at gmail.com
Sun Jun 16 10:29:03 CEST 2013


Revision: 57495
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57495
Author:   campbellbarton
Date:     2013-06-16 08:29:02 +0000 (Sun, 16 Jun 2013)
Log Message:
-----------
add BLI_strcpy_rlen, replace strcat, which was used in misleading way.

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/BLI_string.h
    trunk/blender/source/blender/blenlib/intern/string.c
    trunk/blender/source/blender/editors/interface/interface.c

Modified: trunk/blender/source/blender/blenlib/BLI_string.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_string.h	2013-06-16 05:35:44 UTC (rev 57494)
+++ trunk/blender/source/blender/blenlib/BLI_string.h	2013-06-16 08:29:02 UTC (rev 57495)
@@ -72,6 +72,13 @@
 #endif
 ;
 
+size_t BLI_strcpy_rlen(char *__restrict dst, const char *__restrict src)
+#ifdef __GNUC__
+__attribute__((warn_unused_result))
+__attribute__((nonnull))
+#endif
+;
+
 char *BLI_str_quoted_substrN(const char *__restrict str, const char *__restrict prefix)
 #ifdef __GNUC__
 __attribute__((warn_unused_result))

Modified: trunk/blender/source/blender/blenlib/intern/string.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/string.c	2013-06-16 05:35:44 UTC (rev 57494)
+++ trunk/blender/source/blender/blenlib/intern/string.c	2013-06-16 08:29:02 UTC (rev 57495)
@@ -139,6 +139,13 @@
 	return srclen;
 }
 
+size_t BLI_strcpy_rlen(char *__restrict dst, const char *__restrict src)
+{
+	size_t srclen = strlen(src);
+	memcpy(dst, src, srclen + 1);
+	return srclen;
+}
+
 /**
  * Portable replacement for #vsnprintf
  */

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2013-06-16 05:35:44 UTC (rev 57494)
+++ trunk/blender/source/blender/editors/interface/interface.c	2013-06-16 08:29:02 UTC (rev 57495)
@@ -2371,13 +2371,13 @@
 					char *str = but->drawstr;
 
 					if (but->modifier_key & KM_SHIFT)
-						str = strcat(str, "Shift ");
+						str += BLI_strcpy_rlen(str, "Shift ");
 					if (but->modifier_key & KM_CTRL)
-						str = strcat(str, "Ctrl ");
+						str += BLI_strcpy_rlen(str, "Ctrl ");
 					if (but->modifier_key & KM_ALT)
-						str = strcat(str, "Alt ");
+						str += BLI_strcpy_rlen(str, "Alt ");
 					if (but->modifier_key & KM_OSKEY)
-						str = strcat(str, "Cmd ");
+						str += BLI_strcpy_rlen(str, "Cmd ");
 
 					(void)str; /* UNUSED */
 				}




More information about the Bf-blender-cvs mailing list