Browse Source

Removed use of tmp string functions.

woollybah 6 years ago
parent
commit
648be93012

+ 12 - 4
blitz.mod/blitz_app.c

@@ -349,7 +349,9 @@ void bbStartup( int argc,char *argv[],void *dummy1,void *dummy2 ){
 
 		GetModuleFileNameW( GetModuleHandleW(0),buf,MAX_PATH );
 		bbGetAppFileDir(buf);
-		_wchdir( bbTmpWString( bbAppDir ) );
+		BBChar * p = bbStringToWString(bbAppDir);
+		_wchdir( p );
+		bbMemFree(p);
 		
 	}else{
 		int e=0;
@@ -375,7 +377,9 @@ void bbStartup( int argc,char *argv[],void *dummy1,void *dummy2 ){
 			bbAppDir=&bbEmptyString;
 		}
 
-		_chdir( bbTmpCString( bbAppDir ) );
+		char *p=bbStringToCString( bbAppDir );
+		_chdir( p );
+		bbMemFree(p);
 	}
 
 #elif __linux
@@ -414,7 +418,9 @@ void bbStartup( int argc,char *argv[],void *dummy1,void *dummy2 ){
 		bbAppDir=&bbEmptyString;
 	}
 	
-	chdir( bbTmpUTF8String( bbAppDir ) );
+	char *p=bbStringToUTF8String( bbAppDir );
+	chdir( p );
+	bbMemFree(p);
 	
 #elif __APPLE__
 	
@@ -449,7 +455,9 @@ void bbStartup( int argc,char *argv[],void *dummy1,void *dummy2 ){
 		bbAppDir=&bbEmptyString;
 	}
 	
-	chdir( bbTmpUTF8String( bbAppDir ) );
+	char *p=bbStringToCString( bbAppDir );
+	chdir( p );
+	bbMemFree(p);
 
 #elif __SWITCH__
 

+ 3 - 0
blitz.mod/blitz_string.c

@@ -892,18 +892,21 @@ static void mktmp( void *p ){
 }
 #endif
 char *bbTmpCString( BBString *str ){
+	printf("Use of bbTmpCString is deprecated\n");fflush(stdout);
 	char *p=bbStringToCString( str );
 	mktmp( p );
 	return p;
 }
 
 BBChar *bbTmpWString( BBString *str ){
+	printf("Use of bbTmpWString is deprecated\n");fflush(stdout);
 	BBChar *p=bbStringToWString( str );
 	mktmp( p );
 	return p;
 }
 
 char *bbTmpUTF8String( BBString *str ){
+	printf("Use of bbTmpUTF8String is deprecated\n");fflush(stdout);
 	char *p=bbStringToUTF8String( str );
 	mktmp( p );
 	return p;

+ 4 - 5
glgraphics.mod/glgraphics.linux.c

@@ -350,13 +350,12 @@ BBGLContext *bbGLGraphicsCreateGraphics( int width,int height,int depth,int hz,i
 		bbSetSystemWindow(xwindow);
 	}
 
-	appTitle=bbTmpUTF8String( bbAppTitle );
+	appTitle=bbStringToUTF8String( bbAppTitle );
 	
-	XChangeProperty( xdisplay,window,
-	XInternAtom( xdisplay,"_NET_WM_NAME",True ),
-	XInternAtom( xdisplay,"UTF8_STRING",True ),
-	8,PropModeReplace,appTitle,strlen( appTitle ) );
+	XChangeProperty( xdisplay,window, XInternAtom( xdisplay,"_NET_WM_NAME",True ),
+		XInternAtom( xdisplay,"UTF8_STRING",True ), 8,PropModeReplace,appTitle,strlen( appTitle ) );
 
+	bbMemFree(appTitle);
 //	XStoreName( xdisplay,window,appTitle );
 	
 	bbSystemPoll();

+ 5 - 1
glgraphics.mod/glgraphics.macos.m

@@ -274,9 +274,13 @@ BBGLContext *bbGLGraphicsCreateGraphics( int width,int height,int depth,int hert
 		[window setDelegate:window];
 		[window setAcceptsMouseMovedEvents:YES];
 
-		[window setTitle:[NSString stringWithUTF8String:bbTmpUTF8String(bbAppTitle)]];
+		char *p=bbStringToUTF8String(bbAppTitle);
+
+		[window setTitle:[NSString stringWithUTF8String:p]];
 		[window center];
 
+		bbMemFree(p);
+
 		[window makeKeyAndOrderFront:NSApp];
 		
 		mode=MODE_WINDOW;

+ 6 - 10
glgraphics.mod/glgraphics.win32.c

@@ -46,14 +46,6 @@ void bbGLGraphicsClose( BBGLContext *context );
 void bbGLGraphicsGetSettings( BBGLContext *context,int *width,int *height,int *depth,int *hertz,int *flags );
 void bbGLGraphicsSetGraphics( BBGLContext *context );
 
-static const char *appTitle(){
-	return bbTmpCString( bbAppTitle );
-}
-
-static const wchar_t *appTitleW(){
-	return bbTmpWString( bbAppTitle );
-}
-
 static void _initPfd( PIXELFORMATDESCRIPTOR *pfd,int flags ){
 
 	memset( pfd,0,sizeof(*pfd) );
@@ -326,13 +318,17 @@ BBGLContext *bbGLGraphicsCreateGraphics( int width,int height,int depth,int hert
 	AdjustWindowRectEx( &rect,hwnd_style,0,0 );
 	
 	if( _bbusew ){
+		BBChar *p=bbStringToWString( bbAppTitle );
 		hwnd=CreateWindowExW( 
-			0,CLASS_NAMEW,appTitleW(),
+			0,CLASS_NAMEW,p,
 			hwnd_style,rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,0,0,GetModuleHandle(0),0 );
+		bbMemFree(p);
 	}else{
+		char *p=bbStringToCString( bbAppTitle );
 		hwnd=CreateWindowEx( 
-			0,CLASS_NAME,appTitle(),
+			0,CLASS_NAME,p,
 			hwnd_style,rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,0,0,GetModuleHandle(0),0 );
+		bbMemFree(p);
 	}
 		
 	if( !hwnd ) return 0;

+ 8 - 3
systemdefault.mod/system.macos.m

@@ -511,7 +511,9 @@ BBString *bbSystemRequestFile( BBString *title,BBString *exts,int save,BBString
 	
 	if( dir->length ){
 		char tmp[PATH_MAX];
-		realpath( bbTmpUTF8String(dir),tmp );
+		char *p=bbStringToUTF8String( dir );
+		realpath( p,tmp );
+		bbMemFree(p);
 		nsdir=[NSString stringWithUTF8String:tmp];
 	}
 	
@@ -524,7 +526,7 @@ BBString *bbSystemRequestFile( BBString *title,BBString *exts,int save,BBString
 	}
 	
 	if( exts->length ){
-		char *p=bbTmpUTF8String(exts),*t;
+		char *p=bbStringToUTF8String(exts),*t;
 		nsexts=[NSMutableArray arrayWithCapacity:10];
 		while( t=strchr(p,',') ){
 			*t=0;
@@ -532,6 +534,7 @@ BBString *bbSystemRequestFile( BBString *title,BBString *exts,int save,BBString
 			p=t+1;
 		}
 		if( *p ) [nsexts addObject:[NSString stringWithUTF8String:p]];
+		bbMemFree(p);
 	}
 
 	beginPanel();
@@ -574,7 +577,9 @@ BBString *bbSystemRequestDir( BBString *title,BBString *dir ){
 
 	if( dir->length ){
 		char tmp[PATH_MAX];
-		realpath( bbTmpUTF8String(dir),tmp );
+		char *p=bbStringToUTF8String(dir);
+		realpath( p,tmp );
+		bbMemFree(p);
 		nsdir=[NSString stringWithUTF8String:tmp];
 	}
 	

+ 60 - 24
systemdefault.mod/system.win32.c

@@ -26,14 +26,6 @@ static HWND mouseHwnd;
 static BBObject *mouseSource;
 static int mouseVisible;
 
-static const wchar_t *appTitleW(){
-	return bbStringToWString( bbAppTitle );
-}
-
-static const char *appTitleA(){
-	return bbStringToCString( bbAppTitle );
-}
-
 static int keyCode( WPARAM wp,LPARAM lp){
 	switch( ((lp>>17)&0x80)|((lp>>16)&0x7f) ){
 	case 42:return VK_LSHIFT;
@@ -315,9 +307,17 @@ static int systemPanel( BBString *text,int flags ){
 	
 	beginPanel();
 	if( _usew ){
-		n=MessageBoxW( GetActiveWindow(),bbTmpWString(text),appTitleW(),flags );
+		BBChar *p=bbStringToWString( text );
+		BBChar *t=bbStringToWString( bbAppTitle );
+		n=MessageBoxW( GetActiveWindow(),p,t,flags );
+		bbMemFree(t);
+		bbMemFree(p);
 	}else{
-		n=MessageBoxA( GetActiveWindow(),bbTmpCString(text),appTitleA(),flags );
+		char *p=bbStringToCString( text );
+		char *t=bbStringToCString( bbAppTitle );
+		n=MessageBoxA( GetActiveWindow(),p,t,flags );
+		bbMemFree(t);
+		bbMemFree(p);
 	}
 	endPanel();
 	return n;
@@ -354,14 +354,20 @@ BBString *bbSystemRequestFile( BBString *text,BBString *exts,int defext,int save
 		wchar_t buf[MAX_PATH];
 		OPENFILENAMEW of={sizeof(of)};
 		
-		wcscpy( buf,bbTmpWString( file ) );
+		BBChar *p=bbStringToWString( file );
+		wcscpy( buf,p );
+		bbMemFree(p);
+
+		BBChar *t=bbStringToWString( text );
+		BBChar *e=bbStringToWString( exts );
+		BBChar *d = 0;
 
 		of.hwndOwner=GetActiveWindow();
-		of.lpstrTitle=bbTmpWString( text );
-		of.lpstrFilter=bbTmpWString( exts );
+		of.lpstrTitle=t;
+		of.lpstrFilter=e;
 		of.nFilterIndex=defext;
 		of.lpstrFile=buf;
-		of.lpstrInitialDir=dir->length ? bbTmpWString( dir ) : 0;
+		of.lpstrInitialDir=dir->length ? d=bbStringToWString( dir ) : 0;
 		of.nMaxFile=MAX_PATH;
 		of.Flags=OFN_HIDEREADONLY|OFN_NOCHANGEDIR;
 		
@@ -379,18 +385,28 @@ BBString *bbSystemRequestFile( BBString *text,BBString *exts,int defext,int save
 			}
 		}
 		endPanel();
+		
+		bbMemFree(d);
+		bbMemFree(e);
+		bbMemFree(t);
 	}else{
 		char buf[MAX_PATH];
 		OPENFILENAMEA of={sizeof(of)};
 
-		strcpy( buf,bbTmpCString( file ) );
+		char *p=bbStringToCString( file );
+		strcpy( buf,p );
+		bbMemFree(p);
 
+		char *t=bbStringToCString( text );
+		char *e=bbStringToCString( exts );
+		char *d=0;
+		
 		of.hwndOwner=GetActiveWindow();
-		of.lpstrTitle=bbTmpCString( text );
-		of.lpstrFilter=bbTmpCString( exts );
+		of.lpstrTitle=t;
+		of.lpstrFilter=e;
 		of.nFilterIndex=defext;
 		of.lpstrFile=buf;
-		of.lpstrInitialDir=dir->length ? bbTmpCString( dir ) : 0;
+		of.lpstrInitialDir=dir->length ? d=bbStringToCString( dir ) : 0;
 		of.nMaxFile=MAX_PATH;
 		of.Flags=OFN_HIDEREADONLY|OFN_NOCHANGEDIR;
 		
@@ -409,6 +425,10 @@ BBString *bbSystemRequestFile( BBString *text,BBString *exts,int defext,int save
 			}
 		}
 		endPanel();
+		
+		bbMemFree(d);
+		bbMemFree(e);
+		bbMemFree(t);
 	}
 	return str;
 }
@@ -453,10 +473,14 @@ BBString *bbSystemRequestDir( BBString *text,BBString *dir ){
 		BROWSEINFOW bi={0};
 		wchar_t buf[MAX_PATH],*p;
 
-		GetFullPathNameW( bbTmpWString(dir),MAX_PATH,buf,&p );
+		BBChar *d=bbStringToWString( dir );
+		GetFullPathNameW( d,MAX_PATH,buf,&p );
+		bbMemFree(d);
+		
+		BBChar *t=bbStringToWString( text );
 		
 		bi.hwndOwner=GetActiveWindow();
-		bi.lpszTitle=bbTmpWString( text );
+		bi.lpszTitle=t;
 		bi.ulFlags=BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE;
 		bi.lpfn=BrowseForFolderCallbackW;
 		bi.lParam=(LPARAM)buf;
@@ -465,6 +489,8 @@ BBString *bbSystemRequestDir( BBString *text,BBString *dir ){
 		idlist=SHBrowseForFolderW(&bi);
 		endPanel();
 		
+		bbMemFree(t);
+		
 		if( idlist ){
 			SHGetPathFromIDListW( idlist,buf );
 			str=bbStringFromWString( buf );
@@ -476,10 +502,14 @@ BBString *bbSystemRequestDir( BBString *text,BBString *dir ){
 		BROWSEINFOA bi={0};
 		char buf[MAX_PATH],*p;
 		
-		GetFullPathNameA( bbTmpCString(dir),MAX_PATH,buf,&p );
+		char *d=bbStringToCString( dir );
+		GetFullPathNameA( d,MAX_PATH,buf,&p );
+		bbMemFree(d);
+
+		char *t=bbStringToCString( text );
 
 		bi.hwndOwner=GetActiveWindow();
-		bi.lpszTitle=bbTmpCString( text );
+		bi.lpszTitle=t;
 		bi.ulFlags=BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE;
 		bi.lpfn=BrowseForFolderCallbackA;
 		bi.lParam=(LPARAM)buf;
@@ -488,6 +518,8 @@ BBString *bbSystemRequestDir( BBString *text,BBString *dir ){
 		idlist=SHBrowseForFolderA(&bi);
 		endPanel();
 		
+		bbMemFree(t);
+		
 		if( idlist ){
 			SHGetPathFromIDListA( idlist,buf );
 			str=bbStringFromCString( buf );
@@ -500,9 +532,13 @@ BBString *bbSystemRequestDir( BBString *text,BBString *dir ){
 int bbOpenURL( BBString *url ){
 	int n;
 	if( _usew ){
-		n=(int)ShellExecuteW( 0,0,(wchar_t*)bbTmpWString(url),0,0,10 )>32;	//SW_SHOWDEFAULT
+		BBChar *p=bbStringToWString( url );
+		n=(int)ShellExecuteW( 0,0,(wchar_t*)p,0,0,10 )>32;	//SW_SHOWDEFAULT
+		bbMemFree(p);
 	}else{
-		n=(int)ShellExecuteA( 0,0,bbTmpCString(url),0,0,10 )>32;	//SW_SHOWDEFAULT
+		char *p=bbStringToCString( url );
+		n=(int)ShellExecuteA( 0,0,p,0,0,10 )>32;	//SW_SHOWDEFAULT
+		bbMemFree(p);
 	}
 	return n;
 }