[Ttssh2-commit] [9078] ファイル名領域確保に malloc を使用

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 12月 20日 (日) 21:11:20 JST


Revision: 9078
          https://osdn.net/projects/ttssh2/scm/svn/commits/9078
Author:   zmatsuo
Date:     2020-12-20 21:11:20 +0900 (Sun, 20 Dec 2020)
Log Message:
-----------
ファイル名領域確保に malloc を使用

- 従来は GlobalAlloc() を使用していた

Modified Paths:
--------------
    trunk/teraterm/teraterm/filesys_proto.cpp
    trunk/teraterm/teraterm/filesys_proto.h
    trunk/teraterm/ttpfile/ftlib.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/filesys_proto.cpp
===================================================================
--- trunk/teraterm/teraterm/filesys_proto.cpp	2020-12-20 12:11:08 UTC (rev 9077)
+++ trunk/teraterm/teraterm/filesys_proto.cpp	2020-12-20 12:11:20 UTC (rev 9078)
@@ -155,11 +155,16 @@
 		fv->Close(fv);
 		fv->FileOpen = FALSE;
 	}
+	if (fv->FnStrMem != NULL) {
+		free(fv->FnStrMem);
+	}
+#if 0
 	if (fv->FnStrMemHandle != 0)
 	{
 		GlobalUnlock(fv->FnStrMemHandle);
 		GlobalFree(fv->FnStrMemHandle);
 	}
+#endif
 	fv->FileSysDestroy(fv);
 	free(fv);
 
@@ -754,6 +759,7 @@
 	fv->NumFname = 0;
 
 	/* moemory should be zero-initialized */
+#if 0
 	fv->FnStrMemHandle = GlobalAlloc(GHND, FnStrMemSize);
 	if (fv->FnStrMemHandle == NULL) {
 		MessageBeep(0);
@@ -768,7 +774,14 @@
 			return FALSE;
 		}
 	}
+#endif
 
+	fv->FnStrMem = (char *)malloc(FnStrMemSize);
+	if (fv->FnStrMem == NULL) {
+		MessageBeep(0);
+		return FALSE;
+	}
+
 	char *FNFilter = GetCommonDialogFilterA(FileSendFilter, UILanguageFile);
 
 	char *default_filename = GetCommonDialogDefaultFilenameA(CurDir);
@@ -834,11 +847,17 @@
 		fv->FNCount = 0;
 	}
 
+#if 0
 	GlobalUnlock(fv->FnStrMemHandle);
 	if (! Ok) {
 		GlobalFree(fv->FnStrMemHandle);
 		fv->FnStrMemHandle = NULL;
 	}
+#endif
+	if (! Ok) {
+		free(fv->FnStrMem);
+		fv->FnStrMem = NULL;
+	}
 
 	/* restore dir */
 	_SetCurrentDirectoryW(TempDir);

Modified: trunk/teraterm/teraterm/filesys_proto.h
===================================================================
--- trunk/teraterm/teraterm/filesys_proto.h	2020-12-20 12:11:08 UTC (rev 9077)
+++ trunk/teraterm/teraterm/filesys_proto.h	2020-12-20 12:11:20 UTC (rev 9078)
@@ -38,7 +38,7 @@
 	int DirLen;
 
 	int NumFname, FNCount;
-	HANDLE FnStrMemHandle;
+//	HANDLE FnStrMemHandle;
 	PCHAR FnStrMem;
 	int FnPtr;
 

Modified: trunk/teraterm/ttpfile/ftlib.c
===================================================================
--- trunk/teraterm/ttpfile/ftlib.c	2020-12-20 12:11:08 UTC (rev 9077)
+++ trunk/teraterm/ttpfile/ftlib.c	2020-12-20 12:11:20 UTC (rev 9078)
@@ -62,13 +62,13 @@
   fv->FNCount++;
   if (fv->NumFname==1) return TRUE;
 
-  GlobalLock(fv->FnStrMemHandle);
+//  GlobalLock(fv->FnStrMemHandle);
 
   strncpy_s(&fv->FullName[fv->DirLen],sizeof(fv->FullName) - fv->DirLen,
     &fv->FnStrMem[fv->FnPtr],_TRUNCATE);
   fv->FnPtr = fv->FnPtr + strlen(&fv->FnStrMem[fv->FnPtr]) + 1;
 
-  GlobalUnlock(fv->FnStrMemHandle);
+//  GlobalUnlock(fv->FnStrMemHandle);
 
   return TRUE;
 }


Ttssh2-commit メーリングリストの案内
Back to archive index