| 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 |
|
|
| 532 |
if (LogVar == NULL || !LogVar->FileOpen) { |
if (LogVar == NULL || !LogVar->FileOpen) { |
| 533 |
#ifndef NO_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 |
| 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 |
* Revision 1.15 2007/06/06 14:02:53 maya |
| 1302 |
* プリプロセッサにより構造体が変わってしまうので、INET6 と I18N の #define を逆転させた。 |
* プリプロセッサにより構造体が変わってしまうので、INET6 と I18N の #define を逆転させた。 |
| 1303 |
* |
* |