Change the temporary directory.
char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma);\r
// 異なるファイルが表示されるバグ修正\r
char* MakeDistinguishableFileName(char* Out, char* In);\r
+// 環境依存の不具合対策\r
+char* GetAppTempPath(char* Buf);\r
\r
/*===== dlgsize.c =====*/\r
\r
\r
// アプリを多重起動してもコンフリクトしないように、テンポラリフォルダ名にプロセスID\r
// を付加する。(2007.9.13 yutaka)\r
- GetTempPath(sizeof(TmpDir), TmpDir);\r
- pid = GetCurrentProcessId();\r
- _snprintf_s(buf, sizeof(buf), _TRUNCATE, "ffftp%d", pid);\r
- strncat_s(TmpDir, sizeof(TmpDir), buf, _TRUNCATE);\r
+ // 環境依存の不具合対策\r
+// GetTempPath(sizeof(TmpDir), TmpDir);\r
+// pid = GetCurrentProcessId();\r
+// _snprintf_s(buf, sizeof(buf), _TRUNCATE, "ffftp%d", pid);\r
+// strncat_s(TmpDir, sizeof(TmpDir), buf, _TRUNCATE);\r
+ GetAppTempPath(TmpDir);\r
+ _mkdir(TmpDir);\r
+ SetYenTail(TmpDir);\r
+ strcat(TmpDir, "transfer");\r
_mkdir(TmpDir);\r
#if 0\r
if (TmpDir[strlen(TmpDir) - 1] == '\\') {\r
{\r
Accel = LoadAccelerators(hInstFtp, MAKEINTRESOURCE(ffftp_accel));\r
\r
- GetTempPath(FMAX_PATH, TmpPath);\r
+ // 環境依存の不具合対策\r
+// GetTempPath(FMAX_PATH, TmpPath);\r
+ GetAppTempPath(TmpPath);\r
+ _mkdir(TmpPath);\r
+ SetYenTail(TmpPath);\r
\r
GetModuleFileName(NULL, HelpPath, FMAX_PATH);\r
strcpy(GetFileName(HelpPath), "ffftp.chm");\r
\r
static void ExitProc(HWND hWnd)\r
{\r
+ // 環境依存の不具合対策\r
+ char Tmp[FMAX_PATH+1];\r
+\r
CancelFlg = YES;\r
\r
CloseTransferThread();\r
else\r
DeleteCache();\r
\r
+ // 環境依存の不具合対策\r
+ GetAppTempPath(Tmp);\r
+ _rmdir(Tmp);\r
+\r
if(RasClose == YES)\r
{\r
DisconnectRas(RasCloseNotify);\r
\r
int mkdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int _mkdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int rmdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int _rmdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
return r;\r
}\r
\r
+int removeM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wremove(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
+int _removeM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wremove(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
+int _unlinkM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wunlink(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
size_t _mbslenM(const unsigned char * _Str)\r
{\r
size_t r = 0;\r
#undef _rmdir\r
#define _rmdir _rmdirM\r
int _rmdirM(const char * _Path);\r
+#undef remove\r
+#define remove removeM\r
+int removeM(const char * _Filename);\r
+#undef _remove\r
+#define _remove _removeM\r
+int _removeM(const char * _Filename);\r
+#undef _unlink\r
+#define _unlink _unlinkM\r
+int _unlinkM(const char * _Filename);\r
#undef _mbslen\r
#define _mbslen _mbslenM\r
size_t _mbslenM(const unsigned char * _Str);\r
return Out;\r
}\r
\r
+// 環境依存の不具合対策\r
+char* GetAppTempPath(char* Buf)\r
+{\r
+ char Temp[32];\r
+ GetTempPath(MAX_PATH, Buf);\r
+ SetYenTail(Buf);\r
+ sprintf(Temp, "ffftp%08x", GetCurrentProcessId());\r
+ strcat(Buf, Temp);\r
+ return Buf;\r
+}\r
+\r
break;\r
\r
case MISC_CACHEDIR_DEF :\r
- GetTempPath(FMAX_PATH, Tmp);\r
+ // 環境依存の不具合対策\r
+// GetTempPath(FMAX_PATH, Tmp);\r
+ GetAppTempPath(Tmp);\r
+ SetYenTail(Tmp);\r
SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)Tmp);\r
break;\r
}\r
\r
WriteMultiStringToReg(hKey4, "DefAttr", DefAttrList);\r
\r
- GetTempPath(FMAX_PATH, Str);\r
+ // 環境依存の不具合対策\r
+// GetTempPath(FMAX_PATH, Str);\r
+ GetAppTempPath(Str);\r
+ SetYenTail(Str);\r
SaveStr(hKey4, "Tmp", TmpPath, Str);\r
\r
WriteBinaryToReg(hKey4, "Hdlg", &HostDlgSize, sizeof(SIZE));\r