FFFTPのソースコードです。
修订版 | c49416f1b104061b94d29d77b115d10c7d8cdb27 (tree) |
---|---|
时间 | 2012-10-25 23:10:51 |
作者 | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Fix bugs of handling of time stamps.
@@ -166,8 +166,8 @@ int WinWidth = 790; | ||
166 | 166 | int WinHeight = 513; |
167 | 167 | int LocalWidth = 389; |
168 | 168 | int TaskHeight = 100; |
169 | -int LocalTabWidth[4] = { 160, 110, 60, 37 }; | |
170 | -int RemoteTabWidth[6] = { 160, 110, 60, 37, 60, 60 }; | |
169 | +int LocalTabWidth[4] = { 150, 120, 60, 37 }; | |
170 | +int RemoteTabWidth[6] = { 150, 120, 60, 37, 60, 60 }; | |
171 | 171 | char UserMailAdrs[USER_MAIL_LEN+1] = { "who@example.com" }; |
172 | 172 | char ViewerName[VIEWERS][FMAX_PATH+1] = { { "notepad" }, { "" }, { "" } }; |
173 | 173 | HFONT ListFont = NULL; |
@@ -1094,10 +1094,15 @@ int TimeString2FileTime(char *Time, FILETIME *Buf) | ||
1094 | 1094 | Buf->dwLowDateTime = 0; |
1095 | 1095 | Buf->dwHighDateTime = 0; |
1096 | 1096 | |
1097 | - if(strlen(Time) >= 16) | |
1097 | + // タイムスタンプのバグ修正 | |
1098 | +// if(strlen(Time) >= 16) | |
1099 | + if(strlen(Time) >= 19) | |
1098 | 1100 | { |
1101 | + // タイムスタンプのバグ修正 | |
1102 | +// if(IsDigit(Time[0]) && IsDigit(Time[5]) && IsDigit(Time[8]) && | |
1103 | +// IsDigit(Time[12]) && IsDigit(Time[14])) | |
1099 | 1104 | if(IsDigit(Time[0]) && IsDigit(Time[5]) && IsDigit(Time[8]) && |
1100 | - IsDigit(Time[12]) && IsDigit(Time[14])) | |
1105 | + IsDigit(Time[12]) && IsDigit(Time[14]) && IsDigit(Time[17])) | |
1101 | 1106 | { |
1102 | 1107 | Ret = YES; |
1103 | 1108 | } |
@@ -1110,7 +1115,9 @@ int TimeString2FileTime(char *Time, FILETIME *Buf) | ||
1110 | 1115 | else |
1111 | 1116 | sTime.wHour = atoi(Time + 12); |
1112 | 1117 | sTime.wMinute = atoi(Time + 14); |
1113 | - sTime.wSecond = 0; | |
1118 | + // タイムスタンプのバグ修正 | |
1119 | +// sTime.wSecond = 0; | |
1120 | + sTime.wSecond = atoi(Time + 17); | |
1114 | 1121 | sTime.wMilliseconds = 0; |
1115 | 1122 | |
1116 | 1123 | SystemTimeToFileTime(&sTime, &fTime); |
@@ -1142,7 +1149,9 @@ void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist) | ||
1142 | 1149 | if((Time->dwLowDateTime == 0) && (Time->dwHighDateTime == 0)) |
1143 | 1150 | InfoExist = 0; |
1144 | 1151 | |
1145 | - /* "yyyy/mm/dd hh:mm" */ | |
1152 | + // タイムスタンプのバグ修正 | |
1153 | +// /* "yyyy/mm/dd hh:mm" */ | |
1154 | + /* "yyyy/mm/dd hh:mm:ss" */ | |
1146 | 1155 | FileTimeToLocalFileTime(Time, &fTime); |
1147 | 1156 | FileTimeToSystemTime(&fTime, &sTime); |
1148 | 1157 |
@@ -1152,9 +1161,13 @@ void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist) | ||
1152 | 1161 | sprintf(Buf, " "); |
1153 | 1162 | |
1154 | 1163 | if(InfoExist & FINFO_TIME) |
1155 | - sprintf(Buf+11, "%2d:%02d", sTime.wHour, sTime.wMinute); | |
1164 | + // タイムスタンプのバグ修正 | |
1165 | +// sprintf(Buf+11, "%2d:%02d", sTime.wHour, sTime.wMinute); | |
1166 | + sprintf(Buf+11, "%2d:%02d:%02d", sTime.wHour, sTime.wMinute, sTime.wSecond); | |
1156 | 1167 | else |
1157 | - sprintf(Buf+11, " "); | |
1168 | + // タイムスタンプのバグ修正 | |
1169 | +// sprintf(Buf+11, " "); | |
1170 | + sprintf(Buf+11, " "); | |
1158 | 1171 | } |
1159 | 1172 | else |
1160 | 1173 | { |