[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55152] trunk/blender/source/blender: add STREQ macro (commonly used macro like CLAMP, MAX2, STRINGIFY).

Campbell Barton ideasman42 at gmail.com
Sun Mar 10 07:18:04 CET 2013


Revision: 55152
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55152
Author:   campbellbarton
Date:     2013-03-10 06:18:03 +0000 (Sun, 10 Mar 2013)
Log Message:
-----------
add STREQ macro (commonly used macro like CLAMP, MAX2, STRINGIFY). Use for some areas of the python api, bmesh.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/font.c
    trunk/blender/source/blender/blenkernel/intern/idcode.c
    trunk/blender/source/blender/blenkernel/intern/idprop.c
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/blenlib/BLI_utildefines.h
    trunk/blender/source/blender/bmesh/intern/bmesh_operators.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c
    trunk/blender/source/blender/makesrna/intern/rna_pose.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_ops.c
    trunk/blender/source/blender/python/generic/py_capi_utils.c
    trunk/blender/source/blender/python/intern/bpy.c
    trunk/blender/source/blender/python/intern/bpy_props.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/blenkernel/intern/font.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/font.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/blenkernel/intern/font.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -103,7 +103,7 @@
 
 bool BKE_vfont_is_builtin(struct VFont *vfont)
 {
-	return (strcmp(vfont->name, FO_BUILTIN_NAME) == 0);
+	return STREQ(vfont->name, FO_BUILTIN_NAME);
 }
 
 void BKE_vfont_builtin_register(void *mem, int size)
@@ -188,7 +188,7 @@
 	PackedFile *temp_pf = NULL;
 	int is_builtin;
 	
-	if (strcmp(name, FO_BUILTIN_NAME) == 0) {
+	if (STREQ(name, FO_BUILTIN_NAME)) {
 		BLI_strncpy(filename, name, sizeof(filename));
 		
 		pf = get_builtin_packedfile();

Modified: trunk/blender/source/blender/blenkernel/intern/idcode.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/idcode.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/blenkernel/intern/idcode.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -89,9 +89,11 @@
 {
 	int i = nidtypes;
 	
-	while (i--)
-		if (strcmp(str, idtypes[i].name) == 0)
+	while (i--) {
+		if (STREQ(str, idtypes[i].name)) {
 			return &idtypes[i];
+		}
+	}
 
 	return NULL;
 }

Modified: trunk/blender/source/blender/blenkernel/intern/idprop.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/idprop.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/blenkernel/intern/idprop.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -451,7 +451,7 @@
 	IDProperty *loop, *prop;
 	for (prop = src->data.group.first; prop; prop = prop->next) {
 		for (loop = dest->data.group.first; loop; loop = loop->next) {
-			if (strcmp(loop->name, prop->name) == 0) {
+			if (STREQ(loop->name, prop->name)) {
 				IDProperty *copy = IDP_CopyProperty(prop);
 
 				BLI_insertlinkafter(&dest->data.group, loop, copy);

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -856,7 +856,7 @@
 {
 	Sequence *seq;
 	for (seq = seqbasep->first; seq; seq = seq->next) {
-		if (sui->seq != seq && strcmp(sui->name_dest, seq->name + 2) == 0) {
+		if ((sui->seq != seq) && STREQ(sui->name_dest, seq->name + 2)) {
 			/* SEQ_NAME_MAXSTR - 2 for prefix, -1 for \0, -4 for the number */
 			BLI_snprintf(sui->name_dest, sizeof(sui->name_dest), "%.59s.%03d",  sui->name_src, sui->count++);
 			sui->match = 1; /* be sure to re-scan */
@@ -3861,7 +3861,7 @@
 	Sequence *rseq = NULL;
 
 	for (iseq = seqbase->first; iseq; iseq = iseq->next) {
-		if (strcmp(name, iseq->name + 2) == 0)
+		if (STREQ(name, iseq->name + 2))
 			return iseq;
 		else if (recursive && (iseq->seqbase.first) && (rseq = BKE_sequence_get_by_name(&iseq->seqbase, name, 1))) {
 			return rseq;

Modified: trunk/blender/source/blender/blenlib/BLI_utildefines.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_utildefines.h	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/blenlib/BLI_utildefines.h	2013-03-10 06:18:03 UTC (rev 55152)
@@ -326,6 +326,22 @@
 #define STRINGIFY_APPEND(a, b) "" a #b
 #define STRINGIFY(x) STRINGIFY_APPEND("", x)
 
+/* generic strcmp macros */
+#define STREQ(a, b) (strcmp(a, b) == 0)
+#define STRNEQ(a, b) (!STREQ(a, b))
+
+#define STRCASEEQ(a, b) (strcasecmp(a, b) == 0)
+#define STRCASENEQ(a, b) (!STRCASEEQ(a, b))
+
+#define STREQLEN(a, b, n) (strncmp(a, b, n) == 0)
+#define STRNEQLEN(a, b, n) (!STREQLEN(a, b, n))
+
+#define STRCASEEQLEN(a, b, n) (strncasecmp(a, b, n) == 0)
+#define STRCASENEQLEN(a, b, n) (!STRCASEEQLEN(a, b, n))
+
+#define STRPREFIX(a, b) (strncmp((a), (b), strlen(b)) == 0)
+
+
 /* useful for debugging */
 #define AT __FILE__ ":" STRINGIFY(__LINE__)
 

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_operators.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_operators.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_operators.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -1521,7 +1521,7 @@
 	int i = 0;
 
 	while (slot_args->slot_name) {
-		if (strncmp(identifier, slot_args->slot_name, MAX_SLOTNAME) == 0) {
+		if (STREQLEN(identifier, slot_args->slot_name, MAX_SLOTNAME)) {
 			return i;
 		}
 		slot_args++;
@@ -1546,7 +1546,7 @@
 	int i;
 
 	for (i = 0; i < bmo_opdefines_total; i++) {
-		if (!strcmp(opname, bmo_opdefines[i]->opname)) {
+		if (STREQ(opname, bmo_opdefines[i]->opname)) {
 			return i;
 		}
 	}

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -4664,7 +4664,7 @@
 	int action = RNA_enum_get(ptr, "type");
 
 	/* Only show seed for randomize action! */
-	if (strcmp(prop_id, "seed") == 0) {
+	if (STREQ(prop_id, "seed")) {
 		if (action == SRT_RANDOMIZE)
 			return TRUE;
 		else
@@ -4672,7 +4672,7 @@
 	}
 
 	/* Hide seed for reverse and randomize actions! */
-	if (strcmp(prop_id, "reverse") == 0) {
+	if (STREQ(prop_id, "reverse")) {
 		if (ELEM(action, SRT_RANDOMIZE, SRT_REVERSE))
 			return FALSE;
 		else

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -1053,7 +1053,7 @@
 	CTX_DATA_BEGIN (C, Base *, base, selectable_bases)
 	{
 		/* this is a bit dodjy, there should only be ONE object with this name, but library objects can mess this up */
-		if (strcmp(name, base->object->id.name + 2) == 0) {
+		if (STREQ(name, base->object->id.name + 2)) {
 			ED_base_object_activate(C, base);
 			ED_base_object_select(base, BA_SELECT);
 			changed = 1;

Modified: trunk/blender/source/blender/makesrna/intern/rna_pose.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_pose.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/makesrna/intern/rna_pose.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -444,7 +444,7 @@
 	int a;
 	
 	for (a = 1, grp = pose->agroups.first; grp; grp = grp->next, a++) {
-		if (strcmp(grp->name, value) == 0) {
+		if (STREQ(grp->name, value)) {
 			*index = a;
 			return;
 		}
@@ -459,7 +459,7 @@
 	bActionGroup *grp;
 	
 	for (grp = pose->agroups.first; grp; grp = grp->next) {
-		if (strcmp(grp->name, value) == 0) {
+		if (STREQ(grp->name, value)) {
 			BLI_strncpy(result, value, maxlen);
 			return;
 		}

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_ops.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_ops.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_ops.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -159,7 +159,7 @@
 	const char *opname = _PyUnicode_AsString(pyname);
 
 	for (i = 0; i < tot; i++) {
-		if (strcmp(bmo_opdefines[i]->opname, opname) == 0) {
+		if (STREQ(bmo_opdefines[i]->opname, opname)) {
 			return bpy_bmesh_op_CreatePyObject(opname);
 		}
 	}

Modified: trunk/blender/source/blender/python/generic/py_capi_utils.c
===================================================================
--- trunk/blender/source/blender/python/generic/py_capi_utils.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/python/generic/py_capi_utils.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -751,7 +751,7 @@
 	PyObject *as_pointer;
 	PyObject *pointer;
 
-	if (!strcmp(Py_TYPE(value)->tp_name, type_name) &&
+	if (STREQ(Py_TYPE(value)->tp_name, type_name) &&
 	    (as_pointer = PyObject_GetAttrString(value, "as_pointer")) != NULL &&
 	    PyCallable_Check(as_pointer))
 	{
@@ -804,7 +804,7 @@
 int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *value)
 {
 	for ( ; item->identifier; item++) {
-		if (strcmp(item->identifier, identifier) == 0) {
+		if (STREQ(item->identifier, identifier)) {
 			*value = item->value;
 			return 1;
 		}

Modified: trunk/blender/source/blender/python/intern/bpy.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy.c	2013-03-10 05:58:09 UTC (rev 55151)
+++ trunk/blender/source/blender/python/intern/bpy.c	2013-03-10 06:18:03 UTC (rev 55152)
@@ -153,10 +153,10 @@
 		return NULL;
 	
 	/* stupid string compare */
-	if      (!strcmp(type, "DATAFILES")) folder_id = BLENDER_USER_DATAFILES;
-	else if (!strcmp(type, "CONFIG"))    folder_id = BLENDER_USER_CONFIG;
-	else if (!strcmp(type, "SCRIPTS"))   folder_id = BLENDER_USER_SCRIPTS;
-	else if (!strcmp(type, "AUTOSAVE"))  folder_id = BLENDER_USER_AUTOSAVE;
+	if      (STREQ(type, "DATAFILES")) folder_id = BLENDER_USER_DATAFILES;
+	else if (STREQ(type, "CONFIG"))    folder_id = BLENDER_USER_CONFIG;
+	else if (STREQ(type, "SCRIPTS"))   folder_id = BLENDER_USER_SCRIPTS;
+	else if (STREQ(type, "AUTOSAVE"))  folder_id = BLENDER_USER_AUTOSAVE;
 	else {
 		PyErr_SetString(PyExc_ValueError, "invalid resource argument");
 		return NULL;
@@ -197,9 +197,9 @@
 		return NULL;
 
 	/* stupid string compare */
-	if      (!strcmp(type, "USER"))    folder_id = BLENDER_RESOURCE_PATH_USER;
-	else if (!strcmp(type, "LOCAL"))   folder_id = BLENDER_RESOURCE_PATH_LOCAL;
-	else if (!strcmp(type, "SYSTEM"))  folder_id = BLENDER_RESOURCE_PATH_SYSTEM;
+	if      (STREQ(type, "USER"))    folder_id = BLENDER_RESOURCE_PATH_USER;
+	else if (STREQ(type, "LOCAL"))   folder_id = BLENDER_RESOURCE_PATH_LOCAL;
+	else if (STREQ(type, "SYSTEM"))  folder_id = BLENDER_RESOURCE_PATH_SYSTEM;
 	else {
 		PyErr_SetString(PyExc_ValueError, "invalid resource argument");
 		return NULL;


@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list