summaryrefslogtreecommitdiffstats
path: root/util/showboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/showboard.c')
-rw-r--r--util/showboard.c56
1 files changed, 49 insertions, 7 deletions
diff --git a/util/showboard.c b/util/showboard.c
index 0b473569..77bde9f1 100644
--- a/util/showboard.c
+++ b/util/showboard.c
@@ -16,11 +16,11 @@ int main(argc, argv)
int argc;
char *argv[];
{
- int inf, i, count;
+ int inf, i = 0, detail_i = 0, count;
if (argc < 2)
{
- printf("Usage:\t%s .BRD [MAXUSERS]\n", argv[0]);
+ printf("Usage:\t%s .BRD [bid]\n", argv[0]);
exit(1);
}
@@ -47,16 +47,58 @@ int main(argc, argv)
/* sort them by name */
count = i;
+#if 0
qsort(allbrd, count, sizeof(boardheader_t), board_cmp);
+#endif
/* write out the target file */
- printf(
- "看板名稱 板主 類別 中文敘述\n"
- "----------------------------------------------------------------------\n");
- for (i = 0; i < count; i++)
+ if (argc > 2)
{
- printf("%-13s%-25.25s%s\n", allbrd[i].brdname, allbrd[i].BM, allbrd[i].title);
+ detail_i = atoi(argv[2]);
+ if (detail_i >= count)
+ detail_i = -1;
+ } else {
+ detail_i = -1;
+ }
+
+ if (detail_i < 0) {
+ printf(
+ " 看板名稱 板主 類別 中文敘述\n"
+ " -----------------------------------------------------------------\n");
+ for (i = 0; i < count; i++)
+ {
+ printf("%4d %-13s%-25.25s%s\n", i, allbrd[i].brdname, allbrd[i].BM, allbrd[i].title);
+ }
+ } else {
+ /* print details */
+ boardheader_t b = allbrd[detail_i];
+ printf("brdname(bid):\t%s\n", b.brdname);
+ printf("title:\t%s\n", b.title);
+ printf("BM:\t%s\n", b.BM);
+ printf("brdattr:\t%08x\n", b.brdattr);
+ printf("post_limit_posts:\t%d\n", b.post_limit_posts);
+ printf("post_limit_logins:\t%d\n", b.post_limit_logins);
+ printf("post_limit_regtime:\t%d\n", b.post_limit_regtime);
+ printf("level:\t%d\n", b.level);
+ printf("gid:\t%d\n", b.gid);
+ printf("parent:\t%d\n", b.parent);
+ printf("childcount:\t%d\n", b.childcount);
+ printf("nuser:\t%d\n", b.nuser);
+
+ printf("next[0]:\t%d\n", b.next[0]);
+ printf("next[1]:\t%d\n", b.next[1]);
+ printf("firstchild[0]:\t%d\n", b.firstchild[0]);
+ printf("firstchild[1]:\t%d\n", b.firstchild[1]);
+ /* traverse to find my children */
+ printf("---- children: ---- \n");
+ for (i = 0; i < count; i++)
+ {
+ if(allbrd[i].gid == detail_i)
+ printf("%4d %-13s%-25.25s%s\n",
+ i, allbrd[i].brdname,
+ allbrd[i].BM, allbrd[i].title);
+ }
}
return 0;
}