| 515 |
|
|
| 516 |
return 0; |
return 0; |
| 517 |
} |
} |
| 518 |
|
|
| 519 |
|
int user_online_update(const char *action) |
| 520 |
|
{ |
| 521 |
|
MYSQL *db = NULL; |
| 522 |
|
char sql[SQL_BUFFER_LEN]; |
| 523 |
|
|
| 524 |
|
if (strcmp(BBS_current_action, action) == 0) // No change |
| 525 |
|
{ |
| 526 |
|
return 0; |
| 527 |
|
} |
| 528 |
|
|
| 529 |
|
strncpy(BBS_current_action, action, sizeof(BBS_current_action) - 1); |
| 530 |
|
BBS_current_action[sizeof(BBS_current_action) - 1] = '\0'; |
| 531 |
|
|
| 532 |
|
db = db_open(); |
| 533 |
|
if (db == NULL) |
| 534 |
|
{ |
| 535 |
|
log_error("db_open() error: %s\n", mysql_error(db)); |
| 536 |
|
return -1; |
| 537 |
|
} |
| 538 |
|
|
| 539 |
|
snprintf(sql, sizeof(sql), |
| 540 |
|
"UPDATE user_online SET current_action = '%s', last_tm=NOW() " |
| 541 |
|
"WHERE SID = 'Telnet_Process_%d'", |
| 542 |
|
BBS_current_action, getpid()); |
| 543 |
|
if (mysql_query(db, sql) != 0) |
| 544 |
|
{ |
| 545 |
|
log_error("Update user_online error: %s\n", mysql_error(db)); |
| 546 |
|
return -2; |
| 547 |
|
} |
| 548 |
|
|
| 549 |
|
mysql_close(db); |
| 550 |
|
|
| 551 |
|
return 1; |
| 552 |
|
} |