Пример #1
0
void add_bbsboard(const board_t *pbt)
{
    struct boardheader newboard;
    char vbuf[PATHLEN], buf[PATHLEN];
    int bid;

    if (!pbt)
        return;
    memset(&newboard, 0, sizeof(newboard));
    strcpy(newboard.filename, pbt->name);
    strcpy(newboard.title, "0[待定]      版面中文名称待定");
    if (getbid(newboard.filename, NULL) > 0) {
        clean_ipc();
        error("%s: getbid error", newboard.filename);
    }
    strcpy(vbuf, "vote/");
    strcat(vbuf, newboard.filename);
    setbpath(buf, newboard.filename);
    /*
     * keep old files.
     * f_rm(buf);
     * f_rm(vbuf);
     */
    if (wrapped_mkdir(buf, 0755) == -1 || wrapped_mkdir(vbuf, 0755) == -1) {
        clean_ipc();
        error("%s: mkdir error", newboard.filename);
    }
    snprintf(newboard.ann_path, 127, "%s/%s", groups[0], newboard.filename);
    newboard.ann_path[127] = '\0';

    /* 默认权限 */
    newboard.level = PERM_SYSOP;

    if (pbt->type == X)
        newboard.level |= PERM_POSTMASK;
    else if (pbt->type == o)
        newboard.level = 0;

    if (add_board(&newboard) == -1) {
        clean_ipc();
        error("%s: add_board error", newboard.filename);
    }
    if ((bid = getbid(newboard.filename, NULL)) == 0) {
        clean_ipc();
        error("%s: getbid error", newboard.filename);
    }

    sprintf(buf, "add board %s", newboard.filename);
    bbslog("user", "%s", buf);
    usage(buf);
}
Пример #2
0
StarflowSetOfGames::StarflowSetOfGames() {
	add_board({
		"A....",
		".....",
		"..D..",
		"CDB.A",
		"B...C",
	});

	add_board({
		"R....B...B",
		"...W......",
		"..WG......",
		".COb..O...",
		".g....b.G.",
		"........S.",
		"..R..P...C",
		"YS.......",
		".p....g.P.",
		".Y..p.....",
	});

	add_board({
		"G........",
		"R.b....P.",
		"Y....B...",
		"...Y.....",
		"........G",
		".OCp.B..P",
		".......bO",
		"....C..p.",
		".R.......",
	});

	add_board({
		"..PY...",
		".....C.",
		".C...G.",
		".O.B.R.",
		"....B..",
		"..O..R.",
		"...PGY.",
	});

	add_board({
		"GB...R..",
		"...G.BC.",
		"O....P..",
		".Y......",
		".PO..R..",
		"......Y.",
		".b..b.C.",
		"........",
	});

	add_board({
		".....",
		".A.D.",
		"..D..",
		"..B.C",
		"BAC..",
	});

	add_board({
		"ABC.DE",
		"....F.",
		"..C...",
		"..D...",
		"A.F...",
		"B.E...",
	});

	add_board({
		"A.B.C",
		"..D.E",
		".....",
		".B.C.",
		".ADE.",
	});

	add_board({
		".......b..",
		".Y..PC..G.",
		"...BO.....",
		"..........",
		".YP....O..",
		".....G....",
		"..........",
		".....B....",
		"..R.....C.",
		"R.......b.",
	});

	add_board({
		"......Y...",
		"....P.G.G.",
		"......RY..",
		"...b...B..",
		".....O....",
		"C....RbC..",
		"P.........",
		"BO........",
		"..........",
		"..........",
	});

	add_board({
		"...........",
		"......Y.W.P",
		"......S.O..",
		".SYC.......",
		"..g.....C..",
		".g.........",
		".O.......R.",
		".B..P..W...",
		".....B.p...",
		"R......G..p",
		"q.......q.G",
	});

	add_board({
		"P............",
		"R..C...WB..B.",
		".P.R...G...W.",
		".Y....G..S...",
		".............",
		".......SOg...",
		"......y.P....",
		"..........O..",
		".....x....b..",
		"C.......P....",
		".....y..g....",
		".b.x.........",
		"............Y",
	});

	add_board({
		"..............",
		".B...B........",
		"...........h..",
		"........M.....",
		".p........Y...",
		"...Rh.g.......",
		"..C.C..R......",
		"Y......g...W..",
		"....W..O.B....",
		"....G..G.S....",
		"..PO..........",
		"....P.....B..x",
		"............p.",
		".......S.Mx...",
	});
}
Пример #3
0
void register_board(dev_init_t * dev_info)
{
    add_board(dev_info);
}