Explorar el Código

Inlined ObjectIsEmptyString.

Brucey hace 5 años
padre
commit
f0f79b0f60
Se han modificado 2 ficheros con 7 adiciones y 2 borrados
  1. 2 1
      blitz.mod/blitz_string.c
  2. 5 1
      blitz.mod/blitz_string.h

+ 2 - 1
blitz.mod/blitz_string.c

@@ -997,6 +997,7 @@ char *bbTmpUTF8String( BBString *str ){
 
 #if __STDC_VERSION__ >= 199901L
 extern int bbStringEquals( BBString *x,BBString *y);
+extern int bbObjectIsEmptyString(BBObject * o);
 #else
 int bbStringEquals( BBString *x,BBString *y ){
 	if (x->length-y->length != 0) return 0;
@@ -1006,8 +1007,8 @@ int bbStringEquals( BBString *x,BBString *y ){
 	while( k-- ) if ( *bx++ - *by++ != 0 ) return 0;
 	return 1;
 }
-#endif
 
 int bbObjectIsEmptyString(BBObject * o) {
 	return (BBString*)o == &bbEmptyString;
 }
+#endif

+ 5 - 1
blitz.mod/blitz_string.h

@@ -87,11 +87,15 @@ inline int bbStringEquals( BBString *x,BBString *y ){
 	if (x->length-y->length != 0) return 0;
 	return memcmp(x->buf, y->buf, x->length * sizeof(BBChar)) == 0;
 }
+
+inline int bbObjectIsEmptyString(BBObject * o) {
+	return (BBString*)o == &bbEmptyString;
+}
 #else
 int bbStringEquals( BBString *x,BBString *y );
+int bbObjectIsEmptyString(BBObject * o);
 #endif
 
-int bbObjectIsEmptyString(BBObject * o);
 char *bbStringToUTF8StringBuffer( BBString *str, char * buf, size_t * length );
 
 #ifdef __cplusplus