| 20 |
#include "user_priv.h" |
#include "user_priv.h" |
| 21 |
#include "common.h" |
#include "common.h" |
| 22 |
#include "database.h" |
#include "database.h" |
| 23 |
|
#include "article_view_log.h" |
| 24 |
#include "log.h" |
#include "log.h" |
| 25 |
#include "io.h" |
#include "io.h" |
| 26 |
#include "screen.h" |
#include "screen.h" |
| 307 |
goto cleanup; |
goto cleanup; |
| 308 |
} |
} |
| 309 |
|
|
| 310 |
// Load article_view_log |
// Load article view log |
| 311 |
|
if (article_view_log_load(BBS_priv.uid, &BBS_article_view_log, 0) < 0) |
| 312 |
|
{ |
| 313 |
|
log_error("article_view_log_load() error\n"); |
| 314 |
|
goto cleanup; |
| 315 |
|
} |
| 316 |
|
|
| 317 |
clearscr(); |
clearscr(); |
| 318 |
|
|
| 325 |
// Logout |
// Logout |
| 326 |
bbs_logout(); |
bbs_logout(); |
| 327 |
|
|
| 328 |
|
// Save incremental article view log |
| 329 |
|
if (article_view_log_save_inc(&BBS_article_view_log) < 0) |
| 330 |
|
{ |
| 331 |
|
log_error("article_view_log_save_inc() error\n"); |
| 332 |
|
} |
| 333 |
|
|
| 334 |
cleanup: |
cleanup: |
| 335 |
|
// Unload article view log |
| 336 |
|
article_view_log_unload(&BBS_article_view_log); |
| 337 |
|
|
| 338 |
// Detach menu in shared memory |
// Detach menu in shared memory |
| 339 |
detach_menu_shm(p_bbs_menu); |
detach_menu_shm(p_bbs_menu); |
| 340 |
free(p_bbs_menu); |
free(p_bbs_menu); |