[Bf-blender-cvs] [07e2bd443ea] master: Fix bone "auto-name by axis" failure to clip long names

Campbell Barton noreply at git.blender.org
Tue Apr 26 05:49:14 CEST 2022


Commit: 07e2bd443ea2b3aadb78bcbb8b74950917a0181d
Author: Campbell Barton
Date:   Tue Apr 26 13:46:04 2022 +1000
Branches: master
https://developer.blender.org/rB07e2bd443ea2b3aadb78bcbb8b74950917a0181d

Fix bone "auto-name by axis" failure to clip long names

Failure to clip automatic-names meant named could end with a "." for e.g.

Error in [0] meant the clipped text was copied then
immediately overwritten.

[0]: 354e6b9c189bb6cea57577ba3a8e7fb7ca28a796

===================================================================

M	source/blender/blenkernel/intern/armature.c

===================================================================

diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 0ed322d386c..dfe3d9cc310 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -813,11 +813,9 @@ bool bone_autoside_name(
       }
     }
 
-    if ((MAXBONENAME - len) < strlen(extension) + 1) { /* add 1 for the '.' */
-      strncpy(name, basename, len - strlen(extension));
-    }
-
-    BLI_snprintf(name, MAXBONENAME, "%s.%s", basename, extension);
+    /* Subtract 1 from #MAXBONENAME for the null byte. Add 1 to the extension for the '.' */
+    const int basename_maxlen = (MAXBONENAME - 1) - (1 + strlen(extension));
+    BLI_snprintf(name, MAXBONENAME, "%.*s.%s", basename_maxlen, basename, extension);
 
     return true;
   }



More information about the Bf-blender-cvs mailing list