diff options
author | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2006-06-05 00:13:16 +0800 |
---|---|---|
committer | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2006-06-05 00:13:16 +0800 |
commit | d2a28e0fdb31e76baf61157e6679fc358c482b7a (patch) | |
tree | 4272ae4dfac4d4b36a5627bd32279861f0feb51c | |
parent | 51adcb11b155e2bf4a7c9fe26b240afc255a1516 (diff) | |
download | pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar.gz pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar.bz2 pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar.lz pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar.xz pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.tar.zst pttbbs-d2a28e0fdb31e76baf61157e6679fc358c482b7a.zip |
fix last commit bug
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3365 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | mbbsd/fav.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/mbbsd/fav.c b/mbbsd/fav.c index 23eaa15e..b8c09d93 100644 --- a/mbbsd/fav.c +++ b/mbbsd/fav.c @@ -447,8 +447,8 @@ static void read_favrec(FILE *frp, fav_t *fp) switch (ft->type) { case FAVT_FOLDER: - fread(&cast_folder(ft->fp)->fid, sizeof(char), 1, frp); - fread(&cast_folder(ft->fp)->title, sizeof(BTLEN + 1), 1, frp); + fread(&cast_folder(ft)->fid, sizeof(char), 1, frp); + fread(&cast_folder(ft)->title, sizeof(BTLEN + 1), 1, frp); break; case FAVT_BOARD: case FAVT_LINE: @@ -542,8 +542,8 @@ static void write_favrec(FILE *fwp, fav_t *fp) switch (ft->type) { case FAVT_FOLDER: - fwrite(&cast_folder(ft->fp)->fid, sizeof(char), 1, fwp); - fwrite(&cast_folder(ft->fp)->title, sizeof(BTLEN + 1), 1, fwp); + fwrite(&cast_folder(ft)->fid, sizeof(char), 1, fwp); + fwrite(&cast_folder(ft)->title, sizeof(BTLEN + 1), 1, fwp); break; case FAVT_BOARD: case FAVT_LINE: @@ -1171,6 +1171,25 @@ typedef struct { int this_folder; } fav_folder4_t; +typedef struct { + int bid; + time4_t lastvisit; /* UNUSED */ + char attr; +} fav4_board_t; + +static int fav4_get_type_size(int type) +{ + switch (type){ + case FAVT_BOARD: + return sizeof(fav4_board_t); + case FAVT_FOLDER: + return sizeof(fav_folder_t); + case FAVT_LINE: + return sizeof(fav_line_t); + } + return 0; +} + static void fav4_read_favrec(FILE *frp, fav_t *fp) { int i; @@ -1189,7 +1208,7 @@ static void fav4_read_favrec(FILE *frp, fav_t *fp) ft = &fp->favh[i]; fread(&ft->type, sizeof(ft->type), 1, frp); fread(&ft->attr, sizeof(ft->attr), 1, frp); - ft->fp = (void *)fav_malloc(get_type_size(ft->type)); + ft->fp = (void *)fav_malloc(fav4_get_type_size(ft->type)); /* TODO A pointer has different size between 32 and 64-bit arch. * But the pointer in fav_folder_t is irrelevant here. @@ -1201,7 +1220,7 @@ static void fav4_read_favrec(FILE *frp, fav_t *fp) break; case FAVT_BOARD: case FAVT_LINE: - fread(ft->fp, get_type_size(ft->type), 1, frp); + fread(ft->fp, fav4_get_type_size(ft->type), 1, frp); break; } } @@ -1211,7 +1230,7 @@ static void fav4_read_favrec(FILE *frp, fav_t *fp) switch (ft->type) { case FAVT_FOLDER: { fav_t *p = (fav_t *)fav_malloc(sizeof(fav_t)); - read_favrec(frp, p); + fav4_read_favrec(frp, p); cast_folder(ft)->this_folder = p; cast_folder(ft)->fid = ++(fp->folderID); break; |