回文章列表
作者itoc.bbs@cpu.tfcis.org (核心動力) 看板: itoc
標題Re: 關於"連署系統"
時間動力核心 (2007/03/12 Mon 21:58:18)
※ 引述《guessi (沒)》之銘言:
> 做了  ◇ [功能] xover.c 進入 newboard 板就進連署機
> 希望 newboard 看板未讀燈號依據連署內容顯示
> 想法: 判斷連署機制內 有"任一"連署不為"NBRD_FINISH"則顯示"ICON_UNREAD_BRD"

: board.c:nbrd_unread() 新增函式在 btime_refresh() 前面

static int
nbrd_unread(folder)
  char *folder;
{
  NBRD nbrd;
  int fd;
  int rc = 0;

  if ((fd = open(folder, O_RDONLY)) >= 0)
  {
    while (read(fd, &nbrd, sizeof(NBRD)) == sizeof(NBRD))
    {
      if (!(nbrd.mode & NBRD_FINISH))
      {
        rc = 1;
        break;
      }
    }
    close(fd);
  }

  return rc;
}

: board.c:btime_refresh()

  if (brd->btime < 0)
  {
    int fd, fsize;
    char folder[64];
    struct stat st;

    brd->btime = 1;

+   if (!strcmp(brd->brdname, "newboard"))
+   {
+     sprintf(folder, "run/newbrd/%s", fn_dir);
+     brd->bpost = rec_num(folder, sizeof(NBRD));
+     brd->blast = nbrd_unread(folder) ? time(NULL) : 0;
+     return;
+   }

    brd_fpath(folder, brd->brdname, fn_dir);

: newbrd.c:nbrd_add()

  rec_add(dir, &nbrd, sizeof(NBRD));
+ btime_update(brd_bno("newboard"));


--
=[:摃�◣�:Origin ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[218-168-194-169.dynamic.hi]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻