亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rthread.c

?? 早期freebsd實現
?? C
?? 第 1 頁 / 共 3 頁
字號:
boolprev_art_with_subj(){    register ARTICLE *ap = artp, *ap2;    register SUBJECT *sp;    bool try_this_subj_again = TRUE;    if (!ap)	return FALSE;    sp = ap->subj;    do {	ap2 = ap->subj->articles;	if (ap2 == ap)	    ap = Nullart;	else {	    while (ap2 && ap2->subj_next != ap)		ap2 = ap2->subj_next;	    ap = ap2;	}	if (!ap) {	    if (try_this_subj_again) {		ap = sp->articles;		while (ap->subj_next)		    ap = ap->subj_next;		try_this_subj_again = FALSE;	    } else {		if (!art)		    art = lastart;		return FALSE;	    }	}    } while ((ap->flags & (AF_READ|AF_MISSING))	  || (selected_only && !(ap->flags & AF_SEL)));    artp = ap;    art = article_num(ap);    return TRUE;}/* Select a single article.*/voidselect_article(ap, sel_flags)register ARTICLE *ap;int sel_flags;{    int desired_flags = (sel_rereading? AF_READ : 0);#ifdef VERBOSE    bool echo;    if (sel_flags & AF_ECHO) {	echo = TRUE;	sel_flags &= ~AF_ECHO;    } else	echo = FALSE;#else    sel_flags &= ~AF_ECHO;#endif    if (sel_flags & (AF_AUTOSELECT|AF_AUTOSELECTALL))	save_ids = TRUE;    if ((ap->flags & (AF_MISSING|AF_READ)) == desired_flags) {	if (!(ap->flags & sel_mask)) {	    selected_count++;#ifdef VERBOSE	    if (echo) {		IF(verbose)		    fputs("\tSelected",stdout);	    }#endif	}	ap->flags = (ap->flags & ~AF_DEL) | sel_mask | sel_flags;    } else	ap->flags |= sel_flags;    if (!(ap->subj->flags & sel_mask))	selected_subj_cnt++;    ap->subj->flags = (ap->subj->flags&~SF_DEL)|sel_mask|sel_flags|SF_VISIT;    if (sel_mode == SM_THREAD) {	if ((ap = ap->subj->thread) != NULL)	    ap->subj->flags |= SF_VISIT;    }    selected_only = (selected_only || selected_count != 0);}/* Select all the articles in a subject.*/voidselect_subject(subj, sel_flags)SUBJECT *subj;int sel_flags;{    register ARTICLE *ap;    int desired_flags = (sel_rereading? AF_READ : 0);    int old_count = selected_count;    if (sel_flags & (AF_AUTOSELECT|AF_AUTOSELECTALL)) {	save_ids = TRUE;	if (sel_flags & AF_AUTOSELECTALL)	    subj->flags |= SF_AUTOSELECT;    }    for (ap = subj->articles; ap; ap = ap->subj_next) {	if ((ap->flags & (AF_MISSING|AF_READ|sel_mask)) == desired_flags) {	    ap->flags |= sel_mask | sel_flags;	    selected_count++;	} else	    ap->flags |= sel_flags;    }    if (selected_count > old_count) {	if (!(subj->flags & sel_mask))	    selected_subj_cnt++;	subj->flags = (subj->flags & ~SF_DEL)		    | sel_mask | SF_VISIT | SF_WASSELECTED;	if (sel_mode == SM_THREAD) {	    if ((ap = subj->thread) != NULL)		ap->subj->flags |= SF_VISIT;	}	selected_only = TRUE;    } else	subj->flags |= SF_WASSELECTED;}/* Select all the articles in a thread.*/voidselect_thread(thread, sel_flags)register ARTICLE *thread;int sel_flags;{    register SUBJECT *sp;    sp = thread->subj;    do {	select_subject(sp, sel_flags);	sp = sp->thread_link;    } while (sp != thread->subj);}/* Select the subthread attached to this article.*/voidselect_subthread(ap, sel_flags)register ARTICLE *ap;int sel_flags;{    register ARTICLE *limit;    SUBJECT *subj;    int desired_flags = (sel_rereading? AF_READ : 0);    int old_count = selected_count;    if (!ap)	return;    subj = ap->subj;    for (limit = ap; limit; limit = limit->parent) {	if (limit->sibling) {	    limit = limit->sibling;	    break;	}    }    if (sel_flags & (AF_AUTOSELECT|AF_AUTOSELECTALL))	save_ids = TRUE;    for (; ap != limit; ap = bump_art(ap)) {	if ((ap->flags & (AF_MISSING|AF_READ|sel_mask)) == desired_flags) {	    ap->flags |= sel_mask | sel_flags;	    selected_count++;	} else	    ap->flags |= sel_flags;    }    if (selected_count > old_count) {	if (!(subj->flags & sel_mask))	    selected_subj_cnt++;	subj->flags = (subj->flags & ~SF_DEL) | sel_mask | SF_VISIT;	if (sel_mode == SM_THREAD) {	    if ((ap = subj->thread) != NULL)		ap->subj->flags |= SF_VISIT;	}	selected_only = TRUE;    }}/* Deselect a single article.*/voiddeselect_article(ap)register ARTICLE *ap;{    if (ap->flags & sel_mask) {	ap->flags &= ~sel_mask;	if (!selected_count--)	    selected_count = 0;#ifdef VERBOSE	if (mode != 't') {	    IF(verbose)		fputs("\tDeselected",stdout);	}#endif    }    if (sel_rereading && sel_mode == SM_ARTICLE)	ap->flags |= AF_DEL;}/* Deselect all the articles in a subject.*/voiddeselect_subject(subj)SUBJECT *subj;{    register ARTICLE *ap;    for (ap = subj->articles; ap; ap = ap->subj_next) {	if (ap->flags & sel_mask) {	    ap->flags &= ~sel_mask;	    if (!selected_count--)		selected_count = 0;	}    }    if (subj->flags & sel_mask) {	subj->flags &= ~sel_mask;	selected_subj_cnt--;    }    subj->flags &= ~(SF_VISIT | SF_WASSELECTED);    if (sel_rereading)	subj->flags |= SF_DEL;    else	subj->flags &= ~SF_DEL;}/* Deselect all the articles in a thread.*/voiddeselect_thread(thread)register ARTICLE *thread;{    register SUBJECT *sp;    sp = thread->subj;    do {	deselect_subject(sp);	sp = sp->thread_link;    } while (sp != thread->subj);}/* Deselect everything.*/voiddeselect_all(){    register SUBJECT *sp;    for (sp = first_subject; sp; sp = sp->next)	deselect_subject(sp);    selected_count = selected_subj_cnt = 0;    sel_page_sp = 0;    sel_page_app = 0;    sel_last_ap = 0;    sel_last_sp = 0;    selected_only = FALSE;}/* Kill all unread articles attached to the given subject.*/voidkill_subject(subj, kill_flags)SUBJECT *subj;int kill_flags;{    register ARTICLE *ap;    register int killmask = ((kill_flags&KF_ALL)? AF_READ:(AF_READ|sel_mask));    if (kill_flags & KF_KILLFILE) {	save_ids = TRUE;	kill_flags = AF_AUTOKILLALL;    } else	kill_flags = 0;    for (ap = subj->articles; ap; ap = ap->subj_next) {	if (!(ap->flags & killmask))	    set_read(ap);	ap->flags |= kill_flags;    }    subj->flags &= ~(SF_VISIT | SF_WASSELECTED);}/* Kill all unread articles attached to the given thread.*/voidkill_thread(thread, kill_flags)register ARTICLE *thread;int kill_flags;{    register SUBJECT *sp;    sp = thread->subj;    do {	kill_subject(sp, kill_flags);	sp = sp->thread_link;    } while (sp != thread->subj);}/* Kill the subthread attached to this article.*/voidkill_subthread(ap, kill_flags)register ARTICLE *ap;int kill_flags;{    register ARTICLE *limit;    if (!ap)	return;    for (limit = ap; limit; limit = limit->parent) {	if (limit->sibling) {	    limit = limit->sibling;	    break;	}    }    if (kill_flags & KF_KILLFILE) {	save_ids = TRUE;	kill_flags = AF_AUTOKILL;    } else	kill_flags = 0;    for (; ap != limit; ap = bump_art(ap)) {	if (!(ap->flags & (AF_READ|AF_MISSING)))	    set_read(ap);	ap->flags |= kill_flags;    }}/* Unkill all the articles attached to the given subject.*/voidunkill_subject(subj)SUBJECT *subj;{    register ARTICLE *ap;    for (ap = subj->articles; ap; ap = ap->subj_next) {	if (sel_rereading) {	    if ((ap->flags & (AF_DELSEL|AF_MISSING)) == AF_DELSEL) {		if (ap->flags & AF_READ)		    toread[ng]++;		ap->flags = (ap->flags & ~(AF_DELSEL|AF_READ)) | AF_SEL;	    } else		ap->flags &= ~(AF_DEL|AF_DELSEL);	} else {	    if ((ap->flags & (AF_READ|AF_MISSING)) == AF_READ)		onemore(ap);	    if (selected_only && !(ap->flags & (AF_SEL|AF_READ))) {		ap->flags = (ap->flags & ~AF_DEL) | AF_SEL;		selected_count++;	    }	}    }    if (!sel_rereading && selected_only && !(subj->flags & SF_SEL)) {	subj->flags |= SF_SEL | SF_VISIT | SF_WASSELECTED;	if (sel_mode == SM_THREAD) {	    if ((ap = subj->thread) != NULL)		ap->subj->flags |= SF_VISIT;	}	selected_subj_cnt++;    }    subj->flags &= ~(SF_DEL|SF_DELSEL);}/* Unkill all the articles attached to the given thread.*/voidunkill_thread(thread)register ARTICLE *thread;{    register SUBJECT *sp;    sp = thread->subj;    do {	unkill_subject(sp);	sp = sp->thread_link;    } while (sp != thread->subj);}/* Unkill the subthread attached to this article.*/voidunkill_subthread(ap)register ARTICLE *ap;{    register ARTICLE *limit;    register SUBJECT *sp;    if (!ap)	return;    for (limit = ap; limit; limit = limit->parent) {	if (limit->sibling) {	    limit = limit->sibling;	    break;	}    }    sp = ap->subj;    for (; ap != limit; ap = bump_art(ap)) {	if ((ap->flags & (AF_READ|AF_MISSING)) == AF_READ)	    onemore(ap);	if (selected_only && !(ap->flags & AF_SEL)) {	    ap->flags |= AF_SEL;	    selected_count++;	}    }    if (!(sp->flags & sel_mask))	selected_subj_cnt++;    sp->flags = (sp->flags & ~SF_DEL) | SF_SEL | SF_VISIT;    if (sel_mode == SM_THREAD) {	if ((ap = sp->thread) != NULL)	    ap->subj->flags |= SF_VISIT;    }    selected_only = (selected_only || selected_count != 0);}/* Kill all unread articles attached to the given subject.*/voidclear_subject(subj)SUBJECT *subj;{    register ARTICLE *ap;    for (ap = subj->articles; ap; ap = ap->subj_next) {	ap->flags &= ~AF_AUTOFLAGS;    }    subj->flags &= ~(SF_WASSELECTED | SF_AUTOSELECT);}/* Kill all unread articles attached to the given thread.*/voidclear_thread(thread)register ARTICLE *thread;{    register SUBJECT *sp;    sp = thread->subj;    do {	clear_subject(sp);	sp = sp->thread_link;    } while (sp != thread->subj);}/* Kill the subthread attached to this article.*/voidclear_subthread(ap)register ARTICLE *ap;{    register ARTICLE *limit;    if (!ap)	return;    for (limit = ap; limit; limit = limit->parent) {	if (limit->sibling) {	    limit = limit->sibling;	    break;	}    }    for (; ap != limit; ap = bump_art(ap)) {	ap->flags &= ~AF_AUTOFLAGS;    }}ARTICLE *subj_art(sp)SUBJECT *sp;{    register ARTICLE *ap = Nullart;    int art_mask = (selected_only? AF_SEL : 0);    bool TG_save = ThreadedGroup;    ThreadedGroup = (sel_mode == SM_THREAD);    ap = first_art(sp);    while (ap && (ap->flags & (art_mask|AF_READ)) != art_mask)	ap = next_art(ap);    if (!ap) {	reread = TRUE;	ap = first_art(sp);	if (art_mask) {	    while (ap && !(ap->flags & AF_SEL))		ap = next_art(ap);	    if (!ap)		ap = first_art(sp);	}    }    ThreadedGroup = TG_save;    return ap;}/* Find the next thread (first if art > lastart).  If articles are selected,** only choose from threads with selected articles.*/voidnext_subject(){    register SUBJECT *sp;    register ARTICLE *ap;    sp = ((ap = artp) ? ap->subj->next : first_subject);    for (; sp; sp = sp->next) {	if (sp->flags & SF_VISIT) {	    if ((ap = subj_art(sp)) != Nullart) {		art = article_num(ap);		artp = ap;		return;	    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区成人| 久久99九九99精品| 亚洲欧美区自拍先锋| 欧美韩国一区二区| 亚洲国产成人午夜在线一区| 久久日韩粉嫩一区二区三区| 久久久无码精品亚洲日韩按摩| 日韩一级片网址| 日韩美女在线视频| 久久蜜桃av一区二区天堂| 亚洲精品在线观看网站| 久久久午夜电影| 国产精品乱子久久久久| 亚洲欧洲国产日韩| 一区二区三区久久| 亚洲国产日日夜夜| 蜜臀久久99精品久久久久久9| 午夜精彩视频在线观看不卡| 日韩高清中文字幕一区| 久99久精品视频免费观看| 国产一区二区三区在线观看免费| 国产一区二区三区观看| 成人网在线播放| 色综合天天综合网国产成人综合天 | 免费在线观看不卡| 国产在线精品国自产拍免费| 国产suv精品一区二区三区| 99re视频这里只有精品| 欧美欧美欧美欧美| 久久久国产午夜精品| 国产精品激情偷乱一区二区∴| 亚洲永久免费视频| 久久成人av少妇免费| 国产超碰在线一区| 欧美日韩成人一区二区| 久久九九久久九九| 亚洲综合久久av| 久久福利资源站| 99r精品视频| 91麻豆精品久久久久蜜臀| 国产欧美日韩卡一| 一区二区不卡在线播放| 日本欧美在线观看| 狠狠色综合日日| www.在线欧美| 在线看不卡av| 欧美精品一区二区三区蜜桃视频 | 亚洲大片精品永久免费| 日日摸夜夜添夜夜添亚洲女人| 久久精品国内一区二区三区| 高清不卡一区二区在线| 在线亚洲精品福利网址导航| 日韩欧美国产三级电影视频| 国产精品色呦呦| 亚洲成精国产精品女| 精品一区二区三区欧美| 91免费观看视频在线| 欧美日韩一区视频| 久久久久高清精品| 亚洲一区在线观看免费 | 欧美日韩一卡二卡| 久久亚洲春色中文字幕久久久| 亚洲欧洲在线观看av| 三级精品在线观看| 不卡一二三区首页| 日韩午夜在线影院| 一区二区三区在线免费| 久久99国产精品免费| 国产一区欧美一区| 欧美裸体bbwbbwbbw| 欧美激情资源网| 强制捆绑调教一区二区| 成人精品高清在线| 欧美一区二区三区爱爱| 日韩理论电影院| 国产一区二区三区日韩| 欧美中文字幕一区二区三区亚洲| 91精品国产色综合久久久蜜香臀| 国产精品美女久久久久久| 日韩高清不卡一区二区三区| 99国产一区二区三精品乱码| 日韩精品专区在线| 亚洲尤物在线视频观看| 福利91精品一区二区三区| 日韩一区二区在线观看| 亚洲欧美日本韩国| 韩国三级在线一区| 日韩一区二区三区观看| 樱花草国产18久久久久| 成人app在线| 久久久www免费人成精品| 亚洲影院理伦片| 经典三级一区二区| 26uuu亚洲| 美女网站一区二区| 欧美福利视频一区| 亚洲午夜电影网| 一本大道久久精品懂色aⅴ| 欧美精品一区二区三区在线| 日韩国产精品久久久| 在线精品观看国产| 亚洲黄色录像片| 91女人视频在线观看| 国产人久久人人人人爽| 国产乱人伦偷精品视频免下载 | 日韩欧美一区二区免费| 亚洲成人动漫在线观看| 成人性色生活片| 在线播放/欧美激情| 一区二区三区毛片| 色欧美日韩亚洲| 亚洲三级在线免费观看| 成人黄色av网站在线| 国产女同性恋一区二区| 国产主播一区二区| 久久综合精品国产一区二区三区 | caoporen国产精品视频| 日本一区二区成人| 国产69精品久久99不卡| 亚洲国产精品国自产拍av| 国产成人高清在线| 国产精品久久福利| av在线不卡观看免费观看| 日本一区二区三区国色天香 | 日韩女优av电影| 蜜臀va亚洲va欧美va天堂| 日韩欧美二区三区| 日韩国产欧美三级| 欧美精品日日鲁夜夜添| 五月天久久比比资源色| 日韩一区和二区| 国产久卡久卡久卡久卡视频精品| 久久综合色婷婷| 国产91丝袜在线观看| 美女一区二区视频| 欧美va在线播放| 国产乱国产乱300精品| 国产日韩欧美精品在线| 成人国产电影网| 性久久久久久久| 欧美一级视频精品观看| 极品销魂美女一区二区三区| 久久久久久久久免费| 99精品视频中文字幕| 亚洲高清中文字幕| 精品免费一区二区三区| 久久国产精品99久久久久久老狼| 精品久久久三级丝袜| 成人一级片在线观看| 一区二区成人在线视频| 欧美一区二区三区免费视频| 国产福利精品一区| 亚洲男女一区二区三区| 欧美日韩免费高清一区色橹橹| 免费视频最近日韩| 久久精品视频在线免费观看| k8久久久一区二区三区| 五月激情综合色| 国产欧美日韩精品在线| 97久久超碰国产精品| 午夜一区二区三区视频| 亚洲精品一区二区三区99| 色综合夜色一区| 久久99精品国产麻豆婷婷| 国产亚洲成年网址在线观看| 777奇米成人网| 高清视频一区二区| 日韩电影一二三区| 国产精品福利电影一区二区三区四区| 欧美日韩一区国产| 国产成人8x视频一区二区| 一区二区三区在线免费| 国产精品全国免费观看高清 | 粉嫩欧美一区二区三区高清影视| 欧美极品xxx| 欧美mv日韩mv国产网站| 色综合天天综合网天天看片| 久草在线在线精品观看| 一区二区三区四区在线免费观看 | 成人激情开心网| 青青草97国产精品免费观看| 亚洲视频在线一区二区| 日韩欧美另类在线| 91福利在线免费观看| 国产麻豆成人传媒免费观看| 怡红院av一区二区三区| 久久综合中文字幕| 精品视频色一区| 91蝌蚪porny成人天涯| 精品系列免费在线观看| 亚洲国产综合在线| 国产精品色噜噜| 久久你懂得1024| 日韩一区二区三区视频在线观看| 日本韩国欧美一区| 高清不卡一二三区| 国产一区二区看久久| 蜜臀国产一区二区三区在线播放| 亚洲一区在线视频观看| 日韩一区在线看|