| 177 |
BOOL OpenFTDlg(PFileVar fv) |
BOOL OpenFTDlg(PFileVar fv) |
| 178 |
{ |
{ |
| 179 |
PFileTransDlg FTDlg; |
PFileTransDlg FTDlg; |
| 180 |
#ifdef I18N |
#ifndef NO_I18N |
| 181 |
HWND HFTDlg; |
HWND HFTDlg; |
| 182 |
#endif |
#endif |
| 183 |
|
|
| 185 |
|
|
| 186 |
if (FTDlg!=NULL) |
if (FTDlg!=NULL) |
| 187 |
{ |
{ |
| 188 |
#ifdef I18N |
#ifndef NO_I18N |
| 189 |
FTDlg->Create(fv, &cv, &ts); |
FTDlg->Create(fv, &cv, &ts); |
| 190 |
#else |
#else |
| 191 |
FTDlg->Create(fv, &cv); |
FTDlg->Create(fv, &cv); |
| 200 |
else |
else |
| 201 |
SendDlg = FTDlg; /* File send */ |
SendDlg = FTDlg; /* File send */ |
| 202 |
|
|
| 203 |
#ifdef I18N |
#ifndef NO_I18N |
| 204 |
HFTDlg=FTDlg->GetSafeHwnd(); |
HFTDlg=FTDlg->GetSafeHwnd(); |
| 205 |
|
|
| 206 |
GetDlgItemText(HFTDlg, IDC_TRANS_FILENAME, ts.UIMsg, sizeof(ts.UIMsg)); |
GetDlgItemText(HFTDlg, IDC_TRANS_FILENAME, ts.UIMsg, sizeof(ts.UIMsg)); |
| 234 |
if ((*fv)!=NULL) |
if ((*fv)!=NULL) |
| 235 |
{ |
{ |
| 236 |
memset(*fv, 0, sizeof(TFileVar)); |
memset(*fv, 0, sizeof(TFileVar)); |
| 237 |
strcpy((*fv)->FullName,ts.FileDir); |
strncpy_s((*fv)->FullName, sizeof((*fv)->FullName),ts.FileDir, _TRUNCATE); |
| 238 |
AppendSlash((*fv)->FullName); |
AppendSlash((*fv)->FullName,sizeof((*fv)->FullName)); |
| 239 |
(*fv)->DirLen = strlen((*fv)->FullName); |
(*fv)->DirLen = strlen((*fv)->FullName); |
| 240 |
(*fv)->FileOpen = FALSE; |
(*fv)->FileOpen = FALSE; |
| 241 |
(*fv)->OverWrite = ((ts.FTFlag & FT_RENAME) == 0); |
(*fv)->OverWrite = ((ts.FTFlag & FT_RENAME) == 0); |
| 264 |
} |
} |
| 265 |
|
|
| 266 |
// &h をホスト名に置換 (2007.5.14) |
// &h をホスト名に置換 (2007.5.14) |
| 267 |
void ConvertLogname(char *c) |
void ConvertLogname(char *c, int destlen) |
| 268 |
{ |
{ |
| 269 |
char buf[MAXPATHLEN], buf2[MAXPATHLEN], *p = c; |
char buf[MAXPATHLEN], buf2[MAXPATHLEN], *p = c; |
| 270 |
|
|
| 276 |
case 'h': |
case 'h': |
| 277 |
if (cv.Open) { |
if (cv.Open) { |
| 278 |
if (cv.PortType == IdTCPIP) { |
if (cv.PortType == IdTCPIP) { |
| 279 |
_snprintf(buf2, sizeof(buf2), "%s%s", buf, ts.HostName); |
strncat_s(buf,sizeof(buf),ts.HostName,_TRUNCATE); |
|
strncpy(buf, buf2, sizeof(buf)-strlen(buf)-1); |
|
| 280 |
} |
} |
| 281 |
else if (cv.PortType == IdSerial) { |
else if (cv.PortType == IdSerial) { |
| 282 |
_snprintf(buf2, sizeof(buf2), "%sCOM%d", buf, ts.ComPort); |
strncpy_s(buf2,sizeof(buf2),buf,_TRUNCATE); |
| 283 |
strncpy(buf, buf2, sizeof(buf)-strlen(buf)-1); |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, "%sCOM%d", buf2, ts.ComPort); |
| 284 |
} |
} |
| 285 |
} |
} |
| 286 |
break; |
break; |
| 287 |
default: |
default: |
| 288 |
if (strlen(buf) < sizeof(buf)-3) { |
strncpy_s(buf2,sizeof(buf2),p,2); |
| 289 |
strncat(buf, p, 2); |
strncat_s(buf,sizeof(buf),buf2,_TRUNCATE); |
|
} |
|
| 290 |
} |
} |
| 291 |
p++; |
p++; |
| 292 |
} |
} |
| 293 |
else { |
else { |
| 294 |
if (strlen(buf) < sizeof(buf)-2) { |
strncpy_s(buf2,sizeof(buf2),p,1); |
| 295 |
strncat(buf, p, 1); |
strncat_s(buf,sizeof(buf),buf2,_TRUNCATE); |
|
} |
|
| 296 |
} |
} |
| 297 |
p++; |
p++; |
| 298 |
} |
} |
| 299 |
strcpy(c, buf); |
strncpy_s(c, destlen, buf, _TRUNCATE); |
| 300 |
} |
} |
| 301 |
|
|
| 302 |
extern "C" { |
extern "C" { |
| 339 |
(0x2000 * ts.LogTimestamp)); |
(0x2000 * ts.LogTimestamp)); |
| 340 |
|
|
| 341 |
// ログのデフォルトファイル名を設定 (2006.8.28 maya) |
// ログのデフォルトファイル名を設定 (2006.8.28 maya) |
| 342 |
strncat(LogVar->FullName, ts.LogDefaultName, sizeof(LogVar->FullName)-1); |
strncat_s(LogVar->FullName, sizeof(LogVar->FullName), ts.LogDefaultName, _TRUNCATE); |
|
LogVar->FullName[sizeof(LogVar->FullName)-1] = '\0'; |
|
| 343 |
|
|
| 344 |
ParseStrftimeFileName(LogVar->FullName); |
ParseStrftimeFileName(LogVar->FullName, sizeof(LogVar->FullName)); |
| 345 |
|
|
| 346 |
// &h をホスト名に置換 (2007.5.14) |
// &h をホスト名に置換 (2007.5.14) |
| 347 |
ConvertLogname(LogVar->FullName); |
ConvertLogname(LogVar->FullName, sizeof(LogVar->FullName)); |
| 348 |
|
|
| 349 |
if (! (*GetTransFname)(LogVar, logdir, GTF_LOG, &Option)) |
if (! (*GetTransFname)(LogVar, logdir, GTF_LOG, &Option)) |
| 350 |
{ |
{ |
| 377 |
char FileName[MAX_PATH]; |
char FileName[MAX_PATH]; |
| 378 |
|
|
| 379 |
// フルパス化 |
// フルパス化 |
| 380 |
strncpy(FileName, LogVar->FullName, sizeof(FileName)-1); |
strncpy_s(FileName, sizeof(FileName), LogVar->FullName, _TRUNCATE); |
| 381 |
FileName[sizeof(FileName)-1] = '\0'; |
ConvFName(logdir,FileName,sizeof(FileName),"",LogVar->FullName,sizeof(LogVar->FullName)); |
|
ConvFName(logdir,FileName,"",LogVar->FullName); |
|
| 382 |
|
|
| 383 |
ParseStrftimeFileName(LogVar->FullName); |
ParseStrftimeFileName(LogVar->FullName, sizeof(LogVar->FullName)); |
| 384 |
|
|
| 385 |
// &h をホスト名に置換 (2007.5.14) |
// &h をホスト名に置換 (2007.5.14) |
| 386 |
ConvertLogname(LogVar->FullName); |
ConvertLogname(LogVar->FullName, sizeof(LogVar->FullName)); |
| 387 |
(*SetFileVar)(LogVar); |
(*SetFileVar)(LogVar); |
| 388 |
} |
} |
| 389 |
|
|
| 530 |
DWORD wrote; |
DWORD wrote; |
| 531 |
|
|
| 532 |
if (LogVar == NULL || !LogVar->FileOpen) { |
if (LogVar == NULL || !LogVar->FileOpen) { |
| 533 |
#ifdef I18N |
#ifndef NO_I18N |
| 534 |
char uimsg[MAX_UIMSG]; |
char uimsg[MAX_UIMSG]; |
| 535 |
strcpy(uimsg, "ERROR"); |
strncpy_s(uimsg, sizeof(uimsg), "ERROR", _TRUNCATE); |
| 536 |
get_lang_msg("MSG_ERROR", uimsg, ts.UILanguageFile); |
get_lang_msg("MSG_ERROR", uimsg, ts.UILanguageFile); |
| 537 |
strcpy(ts.UIMsg, "It is not opened by the log file yet."); |
strncpy_s(ts.UIMsg, sizeof(ts.UIMsg), "It is not opened by the log file yet.", _TRUNCATE); |
| 538 |
get_lang_msg("MSG_COMMENT_LOG_OPEN_ERROR", ts.UIMsg, ts.UILanguageFile); |
get_lang_msg("MSG_COMMENT_LOG_OPEN_ERROR", ts.UIMsg, ts.UILanguageFile); |
| 539 |
::MessageBox(NULL, ts.UIMsg, uimsg, MB_OK|MB_ICONEXCLAMATION); |
::MessageBox(NULL, ts.UIMsg, uimsg, MB_OK|MB_ICONEXCLAMATION); |
| 540 |
#else |
#else |
| 896 |
{ |
{ |
| 897 |
int vsize; |
int vsize; |
| 898 |
PProtoDlg pd; |
PProtoDlg pd; |
| 899 |
#ifdef I18N |
#ifndef NO_I18N |
| 900 |
HWND Hpd; |
HWND Hpd; |
| 901 |
#endif |
#endif |
| 902 |
|
|
| 950 |
ProtoVar = NULL; |
ProtoVar = NULL; |
| 951 |
return FALSE; |
return FALSE; |
| 952 |
} |
} |
| 953 |
#ifdef I18N |
#ifndef NO_I18N |
| 954 |
pd->Create(fv,&ts); |
pd->Create(fv,&ts); |
| 955 |
#else |
#else |
| 956 |
pd->Create(fv); |
pd->Create(fv); |
| 957 |
#endif |
#endif |
| 958 |
|
|
| 959 |
#ifdef I18N |
#ifndef NO_I18N |
| 960 |
Hpd=pd->GetSafeHwnd(); |
Hpd=pd->GetSafeHwnd(); |
| 961 |
|
|
| 962 |
GetDlgItemText(Hpd, IDC_PROT_FILENAME, ts.UIMsg, sizeof(ts.UIMsg)); |
GetDlgItemText(Hpd, IDC_PROT_FILENAME, ts.UIMsg, sizeof(ts.UIMsg)); |
| 1295 |
|
|
| 1296 |
/* |
/* |
| 1297 |
* $Log$ |
* $Log$ |
| 1298 |
|
* Revision 1.16 2007/08/08 15:56:35 maya |
| 1299 |
|
* 安全な関数を使用するように変更した。 |
| 1300 |
|
* |
| 1301 |
|
* Revision 1.15 2007/06/06 14:02:53 maya |
| 1302 |
|
* プリプロセッサにより構造体が変わってしまうので、INET6 と I18N の #define を逆転させた。 |
| 1303 |
|
* |
| 1304 |
* Revision 1.14 2007/05/31 14:39:05 maya |
* Revision 1.14 2007/05/31 14:39:05 maya |
| 1305 |
* 接続時に自動的にログ採取を開始できるようにした。 |
* 接続時に自動的にログ採取を開始できるようにした。 |
| 1306 |
* |
* |