• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Révision8956 (tree)
l'heure2020-10-12 01:08:07
Auteurzmatsuo

Message de Log

GetFSize64H(), GetFSize64W(), GetFSize64A() 追加

Change Summary

Modification

--- trunk/teraterm/common/ttlib.h (revision 8955)
+++ trunk/teraterm/common/ttlib.h (revision 8956)
@@ -53,6 +53,9 @@
5353 BOOL DoesFileExist(PCHAR FName);
5454 BOOL DoesFolderExist(PCHAR FName);
5555 long GetFSize(PCHAR FName);
56+unsigned long long GetFSize64H(HANDLE hFile);
57+unsigned long long GetFSize64W(const wchar_t *FName);
58+unsigned long long GetFSize64A(const char *FName);
5659 long GetFMtime(PCHAR FName);
5760 BOOL SetFMtime(PCHAR FName, DWORD mtime);
5861 void uint2str(UINT i, PCHAR Str, int destlen, int len);
--- trunk/teraterm/common/ttlib_static_cpp.cpp (revision 8955)
+++ trunk/teraterm/common/ttlib_static_cpp.cpp (revision 8956)
@@ -577,3 +577,40 @@
577577
578578 return dest_top;
579579 }
580+
581+unsigned long long GetFSize64H(HANDLE hFile)
582+{
583+ DWORD file_size_hi;
584+ DWORD file_size_low;
585+ file_size_low = GetFileSize(hFile, &file_size_hi);
586+ if (file_size_low == INVALID_FILE_SIZE && GetLastError() != NO_ERROR) {
587+ // error
588+ return 0;
589+ }
590+ unsigned long long file_size = ((unsigned long long)file_size_hi << 32) + file_size_low;
591+ return file_size;
592+}
593+
594+unsigned long long GetFSize64W(const wchar_t *FName)
595+{
596+ HANDLE hFile = _CreateFileW(FName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
597+ FILE_ATTRIBUTE_NORMAL, NULL);
598+ if (hFile == INVALID_HANDLE_VALUE) {
599+ return 0;
600+ }
601+ unsigned long long file_size = GetFSize64H(hFile);
602+ CloseHandle(hFile);
603+ return file_size;
604+}
605+
606+unsigned long long GetFSize64A(const char *FName)
607+{
608+ HANDLE hFile = CreateFileA(FName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
609+ FILE_ATTRIBUTE_NORMAL, NULL);
610+ if (hFile == INVALID_HANDLE_VALUE) {
611+ return 0;
612+ }
613+ unsigned long long file_size = GetFSize64H(hFile);
614+ CloseHandle(hFile);
615+ return file_size;
616+}
Afficher sur ancien navigateur de dépôt.