Преглед на файлове

Fixed compile warnings.

Brucey преди 4 години
родител
ревизия
5ed4787ec8
променени са 4 файла, в които са добавени 83 реда и са изтрити 53 реда
  1. 1 0
      blitz.mod/blitz_debug.h
  2. 49 46
      blitz.mod/blitz_string.c
  3. 32 7
      blitz.mod/blitz_string.h
  4. 1 0
      blitz.mod/blitz_types.h

+ 1 - 0
blitz.mod/blitz_debug.h

@@ -37,6 +37,7 @@ struct BBDebugDecl{
 		BBString*    const_value;
 		BBString*    const_value;
 		unsigned int field_offset;
 		unsigned int field_offset;
 		void*        var_address;
 		void*        var_address;
+		BBFuncPtr    func_ptr;
 	};
 	};
 };
 };
 
 

+ 49 - 46
blitz.mod/blitz_string.c

@@ -15,10 +15,14 @@ static void bbStringFree( BBObject *o );
 static BBDebugScope debugScope={
 static BBDebugScope debugScope={
 	BBDEBUGSCOPE_USERTYPE,
 	BBDEBUGSCOPE_USERTYPE,
 	"String",
 	"String",
-	BBDEBUGDECL_END
+	{
+		{
+			BBDEBUGDECL_END
+		}
+	}
 };
 };
 
 
-BBClass bbStringClass={
+struct BBClass_String bbStringClass={
 	&bbObjectClass, //super
 	&bbObjectClass, //super
 	bbStringFree,   //free
 	bbStringFree,   //free
 	&debugScope,	//DebugScope
 	&debugScope,	//DebugScope
@@ -118,7 +122,6 @@ static void bbStringFree( BBObject *o ){
 }
 }
 
 
 BBString *bbStringNew( int len ){
 BBString *bbStringNew( int len ){
-	int flags;
 	BBString *str;
 	BBString *str;
 	if( !len ) return &bbEmptyString;
 	if( !len ) return &bbEmptyString;
 	str=(BBString*)bbGCAllocObject( sizeof(BBString)+len*sizeof(BBChar),&bbStringClass,BBGC_ATOMIC );
 	str=(BBString*)bbGCAllocObject( sizeof(BBString)+len*sizeof(BBChar),&bbStringClass,BBGC_ATOMIC );
@@ -138,7 +141,7 @@ BBString *bbStringFromInt( int n ){
 
 
 	sprintf(buf, "%d", n);
 	sprintf(buf, "%d", n);
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 BBString *bbStringFromUInt( unsigned int n ){
 BBString *bbStringFromUInt( unsigned int n ){
@@ -146,7 +149,7 @@ BBString *bbStringFromUInt( unsigned int n ){
 
 
 	sprintf(buf, "%u", n);
 	sprintf(buf, "%u", n);
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 BBString *bbStringFromLong( BBInt64 n ){
 BBString *bbStringFromLong( BBInt64 n ){
@@ -154,7 +157,7 @@ BBString *bbStringFromLong( BBInt64 n ){
 
 
 	sprintf(buf, "%lld", n);
 	sprintf(buf, "%lld", n);
 
 
-	return bbStringFromBytes( buf,strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf,strlen(buf) );
 }
 }
 
 
 BBString *bbStringFromULong( BBUInt64 n ){
 BBString *bbStringFromULong( BBUInt64 n ){
@@ -162,7 +165,7 @@ BBString *bbStringFromULong( BBUInt64 n ){
 
 
 	sprintf(buf, "%llu", n);
 	sprintf(buf, "%llu", n);
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 BBString *bbStringFromSizet( BBSIZET n ){
 BBString *bbStringFromSizet( BBSIZET n ){
@@ -174,7 +177,7 @@ BBString *bbStringFromSizet( BBSIZET n ){
 	sprintf(buf, "%llu", n);
 	sprintf(buf, "%llu", n);
 #endif
 #endif
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 BBString *bbStringFromFloat( float n ){
 BBString *bbStringFromFloat( float n ){
@@ -189,12 +192,12 @@ BBString *bbStringFromDouble( double n ){
 	return bbStringFromCString(buf);
 	return bbStringFromCString(buf);
 }
 }
 
 
-BBString *bbStringFromBytes( const char *p,int n ){
+BBString *bbStringFromBytes( const unsigned char *p,int n ){
 	int k;
 	int k;
 	BBString *str;
 	BBString *str;
 	if( !n ) return &bbEmptyString;
 	if( !n ) return &bbEmptyString;
 	str=bbStringNew( n );
 	str=bbStringNew( n );
-	for( k=0;k<n;++k ) str->buf[k]=(unsigned char)p[k];
+	for( k=0;k<n;++k ) str->buf[k]=p[k];
 	return str;
 	return str;
 }
 }
 
 
@@ -231,7 +234,7 @@ BBString *bbStringFromArray( BBArray *arr ){
 	n=arr->scales[0];
 	n=arr->scales[0];
 	p=BBARRAYDATA(arr,arr->dims);
 	p=BBARRAYDATA(arr,arr->dims);
 	switch( arr->type[0] ){
 	switch( arr->type[0] ){
-	case 'b':return bbStringFromBytes( p,n );
+	case 'b':return bbStringFromBytes( (unsigned char*)p,n );
 	case 's':return bbStringFromShorts( p,n );
 	case 's':return bbStringFromShorts( p,n );
 	case 'i':return bbStringFromInts( p,n );
 	case 'i':return bbStringFromInts( p,n );
 	}
 	}
@@ -239,25 +242,25 @@ BBString *bbStringFromArray( BBArray *arr ){
 }
 }
 
 
 BBString *bbStringFromCString( const char *p ){
 BBString *bbStringFromCString( const char *p ){
-	return p ? bbStringFromBytes( p,strlen(p) ) : &bbEmptyString;
+	return p ? bbStringFromBytes( (unsigned char*)p,strlen(p) ) : &bbEmptyString;
 }
 }
 
 
 BBString *bbStringFromWString( const BBChar *p ){
 BBString *bbStringFromWString( const BBChar *p ){
 	return p ? bbStringFromShorts( p,wstrlen(p) ) : &bbEmptyString;
 	return p ? bbStringFromShorts( p,wstrlen(p) ) : &bbEmptyString;
 }
 }
 
 
-BBString *bbStringFromUTF8String( const char *p ){
+BBString *bbStringFromUTF8String( const unsigned char *p ){
 	return p ? bbStringFromUTF8Bytes( p,strlen(p) ) : &bbEmptyString;
 	return p ? bbStringFromUTF8Bytes( p,strlen(p) ) : &bbEmptyString;
 }
 }
 
 
-BBString *bbStringFromUTF8Bytes( const char *p,int n ){
+BBString *bbStringFromUTF8Bytes( const unsigned char *p,int n ){
 	int c;
 	int c;
-	short *d,*q;
+	unsigned short *d,*q;
 	BBString *str;
 	BBString *str;
 
 
 	if( !p || n <= 0 ) return &bbEmptyString;
 	if( !p || n <= 0 ) return &bbEmptyString;
 	
 	
-	d=(short*)malloc( n*2 );
+	d=(unsigned short*)malloc( n*2 );
 	q=d;
 	q=d;
 	
 	
 	while( n-- && (c=*p++ & 0xff)){
 	while( n-- && (c=*p++ & 0xff)){
@@ -302,7 +305,7 @@ BBString *bbStringToString( BBString *t ){
 int bbStringCompare( BBString *x,BBString *y ){
 int bbStringCompare( BBString *x,BBString *y ){
 	int k,n,sz;
 	int k,n,sz;
 	sz=x->length<y->length ? x->length : y->length;
 	sz=x->length<y->length ? x->length : y->length;
-	for( k=0;k<sz;++k ) if( n=x->buf[k]-y->buf[k] ) return n;
+	for( k=0;k<sz;++k ) if( (n=x->buf[k]-y->buf[k]) ) return n;
 	return x->length-y->length;
 	return x->length-y->length;
 }
 }
 
 
@@ -429,7 +432,7 @@ int bbStringToInt( BBString *t ){
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( neg=(t->buf[i]=='-') ) ++i;
+	else if( (neg=(t->buf[i]=='-')) ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 
 
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -456,14 +459,14 @@ int bbStringToInt( BBString *t ){
 }
 }
 
 
 unsigned int bbStringToUInt( BBString *t ){
 unsigned int bbStringToUInt( BBString *t ){
-	int i=0;
+	int i=0,neg=0;
 	unsigned n=0;
 	unsigned n=0;
 	
 	
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( t->buf[i]=='-' ) ++i;
+	else if( (neg = t->buf[i]=='-') ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 
 
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -486,7 +489,7 @@ unsigned int bbStringToUInt( BBString *t ){
 			n=n*10+(c-'0');
 			n=n*10+(c-'0');
 		}
 		}
 	}
 	}
-	return n;
+	return neg ? -n : n;
 }
 }
 
 
 BBInt64 bbStringToLong( BBString *t ){
 BBInt64 bbStringToLong( BBString *t ){
@@ -497,7 +500,7 @@ BBInt64 bbStringToLong( BBString *t ){
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( neg=(t->buf[i]=='-') ) ++i;
+	else if( (neg=(t->buf[i]=='-')) ) ++i;
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -525,14 +528,14 @@ BBInt64 bbStringToLong( BBString *t ){
 }
 }
 
 
 BBUInt64 bbStringToULong( BBString *t ){
 BBUInt64 bbStringToULong( BBString *t ){
-	int i=0;
+	int i=0,neg=0;
 	BBUInt64 n=0;
 	BBUInt64 n=0;
 	
 	
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( t->buf[i]=='-' ) ++i;
+	else if( (neg = t->buf[i]=='-') ) ++i;
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -555,7 +558,7 @@ BBUInt64 bbStringToULong( BBString *t ){
 			n=n*10+(c-'0');
 			n=n*10+(c-'0');
 		}
 		}
 	}
 	}
-	return n;
+	return neg ? -n : n;
 }
 }
 
 
 BBSIZET bbStringToSizet( BBString *t ){
 BBSIZET bbStringToSizet( BBString *t ){
@@ -566,7 +569,7 @@ BBSIZET bbStringToSizet( BBString *t ){
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( neg=(t->buf[i]=='-') ) ++i;
+	else if( (neg=(t->buf[i]=='-')) ) ++i;
 	if( i==t->length ){ return 0; }
 	if( i==t->length ){ return 0; }
 	
 	
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -590,18 +593,18 @@ BBSIZET bbStringToSizet( BBString *t ){
 		}
 		}
 	}
 	}
 	//*r=neg ? -n : n;
 	//*r=neg ? -n : n;
-	return n;
+	return neg ? -n : n;
 }
 }
 
 
 float bbStringToFloat( BBString *t ){
 float bbStringToFloat( BBString *t ){
-	char *p=bbStringToCString( t );
+	char *p=(char*)bbStringToCString( t );
 	float n=atof( p );
 	float n=atof( p );
 	bbMemFree( p );
 	bbMemFree( p );
 	return n;
 	return n;
 }
 }
 
 
 double bbStringToDouble( BBString *t ){
 double bbStringToDouble( BBString *t ){
-	char *p=bbStringToCString( t );
+	char *p=(char*)bbStringToCString( t );
 	double n=atof( p );
 	double n=atof( p );
 	bbMemFree( p );
 	bbMemFree( p );
 	return n;
 	return n;
@@ -609,14 +612,14 @@ double bbStringToDouble( BBString *t ){
 
 
 #ifdef _WIN32
 #ifdef _WIN32
 WPARAM bbStringToWParam( BBString *t ){
 WPARAM bbStringToWParam( BBString *t ){
-	int i=0;
+	int i=0,neg=0;
 	WPARAM n=0;
 	WPARAM n=0;
 	
 	
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	while( i<t->length && isspace(t->buf[i]) ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( t->buf[i]=='-' ) ++i;
+	else if( (neg = t->buf[i]=='-') ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 
 
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -639,7 +642,7 @@ WPARAM bbStringToWParam( BBString *t ){
 			n=n*10+(c-'0');
 			n=n*10+(c-'0');
 		}
 		}
 	}
 	}
-	return n;
+	return neg ? -n : n;
 }
 }
 
 
 BBString *bbStringFromWParam( WPARAM n ){
 BBString *bbStringFromWParam( WPARAM n ){
@@ -651,7 +654,7 @@ BBString *bbStringFromWParam( WPARAM n ){
 	sprintf(buf, "%u", n);
 	sprintf(buf, "%u", n);
 #endif
 #endif
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 LPARAM bbStringToLParam( BBString *t ){
 LPARAM bbStringToLParam( BBString *t ){
@@ -662,7 +665,7 @@ LPARAM bbStringToLParam( BBString *t ){
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 	
 	
 	if( t->buf[i]=='+' ) ++i;
 	if( t->buf[i]=='+' ) ++i;
-	else if( neg=(t->buf[i]=='-') ) ++i;
+	else if( (neg=(t->buf[i]=='-')) ) ++i;
 	if( i==t->length ) return 0;
 	if( i==t->length ) return 0;
 
 
 	if( t->buf[i]=='%' ){
 	if( t->buf[i]=='%' ){
@@ -697,7 +700,7 @@ BBString *bbStringFromLParam( LPARAM n ){
 	sprintf(buf, "%d", n);
 	sprintf(buf, "%d", n);
 #endif
 #endif
 
 
-	return bbStringFromBytes( buf, strlen(buf) );
+	return bbStringFromBytes( (unsigned char*)buf, strlen(buf) );
 }
 }
 
 
 
 
@@ -800,10 +803,10 @@ BBString *bbStringToUpper( BBString *str ){
 	return t;
 	return t;
 }
 }
 
 
-char *bbStringToCString( BBString *str ){
-	char *p;
+unsigned char *bbStringToCString( BBString *str ){
+	unsigned char *p;
 	int k,sz=str->length;
 	int k,sz=str->length;
-	p=(char*)bbMemAlloc( sz+1 );
+	p=(unsigned char*)bbMemAlloc( sz+1 );
 	for( k=0;k<sz;++k ) p[k]=str->buf[k];
 	for( k=0;k<sz;++k ) p[k]=str->buf[k];
 	p[sz]=0;
 	p[sz]=0;
 	return p;
 	return p;
@@ -811,24 +814,24 @@ char *bbStringToCString( BBString *str ){
 
 
 BBChar *bbStringToWString( BBString *str ){
 BBChar *bbStringToWString( BBString *str ){
 	BBChar *p;
 	BBChar *p;
-	int k,sz=str->length;
+	int sz=str->length;
 	p=(BBChar*)bbMemAlloc( (sz+1)*sizeof(BBChar) );
 	p=(BBChar*)bbMemAlloc( (sz+1)*sizeof(BBChar) );
 	memcpy(p,str->buf,sz*sizeof(BBChar));
 	memcpy(p,str->buf,sz*sizeof(BBChar));
 	p[sz]=0;
 	p[sz]=0;
 	return p;
 	return p;
 }
 }
 
 
-char *bbStringToUTF8String( BBString *str ){
-	int i=0,len=str->length;
+unsigned char *bbStringToUTF8String( BBString *str ){
+	int len=str->length;
 	size_t buflen = len * 4 + 1;
 	size_t buflen = len * 4 + 1;
-	char *buf=(char*)bbMemAlloc( buflen );
+	unsigned char *buf=(unsigned char*)bbMemAlloc( buflen );
 	return bbStringToUTF8StringBuffer(str, buf, &buflen);
 	return bbStringToUTF8StringBuffer(str, buf, &buflen);
 }
 }
 
 
-char *bbStringToUTF8StringBuffer( BBString *str, char * buf, size_t * length ){
+unsigned char *bbStringToUTF8StringBuffer( BBString *str, unsigned char * buf, size_t * length ){
 	int i=0,len=str->length;
 	int i=0,len=str->length;
 	size_t buflen = *length;
 	size_t buflen = *length;
-	char *q=buf;
+	unsigned char *q=buf;
 	unsigned short *p=str->buf;
 	unsigned short *p=str->buf;
 	while (i < len) {
 	while (i < len) {
 		unsigned int c=*p++;
 		unsigned int c=*p++;
@@ -984,7 +987,7 @@ static void mktmp( void *p ){
 #endif
 #endif
 char *bbTmpCString( BBString *str ){
 char *bbTmpCString( BBString *str ){
 	printf("Use of bbTmpCString is deprecated\n");fflush(stdout);
 	printf("Use of bbTmpCString is deprecated\n");fflush(stdout);
-	char *p=bbStringToCString( str );
+	char *p=(char*)bbStringToCString( str );
 	mktmp( p );
 	mktmp( p );
 	return p;
 	return p;
 }
 }
@@ -998,7 +1001,7 @@ BBChar *bbTmpWString( BBString *str ){
 
 
 char *bbTmpUTF8String( BBString *str ){
 char *bbTmpUTF8String( BBString *str ){
 	printf("Use of bbTmpUTF8String is deprecated\n");fflush(stdout);
 	printf("Use of bbTmpUTF8String is deprecated\n");fflush(stdout);
-	char *p=bbStringToUTF8String( str );
+	char *p=(char*)bbStringToUTF8String( str );
 	mktmp( p );
 	mktmp( p );
 	return p;
 	return p;
 }
 }

+ 32 - 7
blitz.mod/blitz_string.h

@@ -20,7 +20,32 @@ struct BBString{
 	BBChar	buf[];
 	BBChar	buf[];
 };
 };
 
 
-extern	BBClass bbStringClass;
+struct BBClass_String{
+	//extends BBGCPool
+	BBClass*	super;
+	void		(*free)( BBObject *o );
+	
+	BBDebugScope*debug_scope;
+
+	unsigned int instance_size;
+
+	void		(*ctor)( BBObject *o );
+	void		(*dtor)( BBObject *o );
+	
+	BBString*	(*ToString)( BBObject *x );
+	int		(*Compare)( BBObject *x,BBObject *y );
+	BBObject*	(*SendMessage)( BBObject * o, BBObject *m,BBObject *s );
+
+	BBINTERFACETABLE itable;
+	void*   extra;
+	unsigned int obj_size;
+	unsigned int instance_count;
+	unsigned int fields_offset;
+
+	void*	vfns[40];
+};
+
+extern	struct BBClass_String bbStringClass;
 extern	BBString bbEmptyString;
 extern	BBString bbEmptyString;
 
 
 BBString*bbStringNew( int len );
 BBString*bbStringNew( int len );
@@ -33,15 +58,15 @@ BBString*	bbStringFromULong( BBUInt64 n );
 BBString*	bbStringFromSizet( BBSIZET n );
 BBString*	bbStringFromSizet( BBSIZET n );
 BBString*bbStringFromFloat( float n );
 BBString*bbStringFromFloat( float n );
 BBString*	bbStringFromDouble( double n );
 BBString*	bbStringFromDouble( double n );
-BBString*	bbStringFromBytes( const char *p,int n );
+BBString*	bbStringFromBytes( const unsigned char *p,int n );
 BBString*	bbStringFromShorts( const unsigned short *p,int n );
 BBString*	bbStringFromShorts( const unsigned short *p,int n );
 BBString*	bbStringFromInts( const int *p,int n );
 BBString*	bbStringFromInts( const int *p,int n );
 BBString*	bbStringFromUInts( const unsigned int *p,int n );
 BBString*	bbStringFromUInts( const unsigned int *p,int n );
 BBString*bbStringFromArray( BBArray *arr );
 BBString*bbStringFromArray( BBArray *arr );
 BBString*	bbStringFromCString( const char *p );
 BBString*	bbStringFromCString( const char *p );
 BBString*bbStringFromWString( const BBChar *p );
 BBString*bbStringFromWString( const BBChar *p );
-BBString*bbStringFromUTF8String( const char *p );
-BBString *bbStringFromUTF8Bytes( const char *p,int n );
+BBString*bbStringFromUTF8String( const unsigned char *p );
+BBString *bbStringFromUTF8Bytes( const unsigned char *p,int n );
 
 
 BBString*	bbStringToString( BBString *t );
 BBString*	bbStringToString( BBString *t );
 int		bbStringCompare( BBString *x,BBString *y );
 int		bbStringCompare( BBString *x,BBString *y );
@@ -68,9 +93,9 @@ double	bbStringToDouble( BBString *str );
 BBInt64 bbStringToLong( BBString *str );
 BBInt64 bbStringToLong( BBString *str );
 BBUInt64 bbStringToULong( BBString *str );
 BBUInt64 bbStringToULong( BBString *str );
 BBSIZET bbStringToSizet( BBString *str );
 BBSIZET bbStringToSizet( BBString *str );
-char*	bbStringToCString( BBString *str );
+unsigned char* bbStringToCString( BBString *str );
 BBChar*	bbStringToWString( BBString *str );
 BBChar*	bbStringToWString( BBString *str );
-char*	bbStringToUTF8String( BBString *str );
+unsigned char* bbStringToUTF8String( BBString *str );
 
 
 #ifdef _WIN32
 #ifdef _WIN32
 WPARAM  bbStringToWParam( BBString *str );
 WPARAM  bbStringToWParam( BBString *str );
@@ -108,7 +133,7 @@ int bbObjectIsEmptyString(BBObject * o);
 BBULONG bbStringHash( BBString * x );
 BBULONG bbStringHash( BBString * x );
 #endif
 #endif
 
 
-char *bbStringToUTF8StringBuffer( BBString *str, char * buf, size_t * length );
+unsigned char *bbStringToUTF8StringBuffer( BBString *str, unsigned char * buf, size_t * length );
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus
 }
 }

+ 1 - 0
blitz.mod/blitz_types.h

@@ -41,6 +41,7 @@ typedef BBArray*		BBARRAY;
 typedef BBInterfaceTable*	BBINTERFACETABLE;
 typedef BBInterfaceTable*	BBINTERFACETABLE;
 typedef BBInterface*	BBINTERFACE;
 typedef BBInterface*	BBINTERFACE;
 typedef BBInterfaceOffsets * BBINTERFACEOFFSETS;
 typedef BBInterfaceOffsets * BBINTERFACEOFFSETS;
+typedef void (*BBFuncPtr)(void);
 
 
 #ifdef __x86_64__
 #ifdef __x86_64__
 #include <immintrin.h>
 #include <immintrin.h>