| | 418 | | static void autolog_open(SERVER_REC *server, const char *server_tag, | | | 419 | | const char *target) | | | 420 | | { | | | 421 | | LOG_REC *log; | | | 422 | | char *fname, *dir, *fixed_target, *params; | | | 423 | | | | | 424 | | log = logs_find_item(LOG_ITEM_TARGET, target, server_tag, NULL);
| | | 425 | | if (log != NULL && !log->failed) {
| | | 426 | | log_start_logging(log); | | | 427 | | return; | | | 428 | | } | | | 429 | | | | | 430 | | | | | 431 | | | | | 432 | | | | | 433 | | | | | 434 | | fixed_target = escape_target(target); | | | 435 | | if (CHAT_PROTOCOL(server)->case_insensitive)
| | | 436 | | g_strdown(fixed_target); | | | 437 | | | | | 438 | | | | | 439 | | params = g_strconcat(fixed_target, " ", server_tag, NULL);
| | | 440 | | g_free(fixed_target); | | | 441 | | | | | 442 | | fname = parse_special_string(autolog_path, server, NULL,
|
| | 482 | | | | char *parse_special_string(const char *cmd, SERVER_REC *server, void *item, | | | 483 | | | | const char *data, int *arg_used, int flags) | | | 484 | | | | { | | | 485 | | | | char code, **arglist, *ret; | | | 486 | | | | GString *str; | | | 487 | | | | int need_free, chr; | | | 488 | | | | | | true | 489 | | | | g_return_val_if_fail(cmd != NULL, NULL);
| | | 490 | | | | g_return_val_if_fail(data != NULL, NULL);
| | | 491 | | | | | | | 492 | | | | | | | 493 | | | | arglist = g_strsplit(data, " ", -1); | | | 494 | | | | | | | 495 | | | | if (arg_used != NULL) *arg_used = FALSE;
| | | 496 | | | | code = 0; | | | 497 | | | | str = g_string_new(NULL);
| | | 498 | | | | while (*cmd != '\0') { | | | 499 | | | | if (code == '\\') { | | | | | | | ... | | | 522 | | | | g_string_append_c(str, *cmd);
| | | 523 | | | | } | | | 524 | | | | | | | 525 | | | | cmd++; | | | 526 | | | | } | | | 527 | | | | g_strfreev(arglist); | | | 528 | | | | | | | 529 | | | | ret = str->str; | | | 530 | | | | g_string_free(str, FALSE);
| | | 531 | | | | return ret; | | parse_special_string$return <= 4095 | 532 | | | | } | Problem | | parse_special_string$return <= 4095 |
|
|