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

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

?? __getgrent.c

?? 手機嵌入式Linux下可用的busybox源碼
?? C
字號:
/* * __getgrent.c - This file is part of the libc-8086/grp package for ELKS, * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>. *  *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; either *  version 2 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public *  License along with this library; if not, write to the Free *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#include <unistd.h>#include <stdlib.h>#include <string.h>#include "grp.h"#include "config.h"/* * This is the core group-file read function.  It behaves exactly like * getgrent() except that it is passed a file descriptor.  getgrent() * is just a wrapper for this function. */struct group *__getgrent(int grp_fd){#ifndef GR_SCALE_DYNAMIC	static char line_buff[GR_MAX_LINE_LEN];	static char *members[GR_MAX_MEMBERS];#else	static char *line_buff = NULL;	static char **members = NULL;	short line_index;	short buff_size;#endif	static struct group group;	register char *ptr;	char *field_begin;	int member_num;	char *endptr;	int line_len;	/* We use the restart label to handle malformatted lines */  restart:#ifdef GR_SCALE_DYNAMIC	line_index = 0;	buff_size = 256;#endif#ifndef GR_SCALE_DYNAMIC	/* Read the line into the static buffer */	if ((line_len = read(grp_fd, line_buff, GR_MAX_LINE_LEN)) <= 0)		return NULL;	field_begin = strchr(line_buff, '\n');	if (field_begin != NULL)		lseek(grp_fd, (long) (1 + field_begin - (line_buff + line_len)),			  SEEK_CUR);	else {						/* The line is too long - skip it :-\ */		do {			if ((line_len = read(grp_fd, line_buff, GR_MAX_LINE_LEN)) <= 0)				return NULL;		} while (!(field_begin = strchr(line_buff, '\n')));		lseek(grp_fd, (long) ((field_begin - line_buff) - line_len + 1),			  SEEK_CUR);		goto restart;	}	if (*line_buff == '#' || *line_buff == ' ' || *line_buff == '\n' ||		*line_buff == '\t')		goto restart;	*field_begin = '\0';#else							/* !GR_SCALE_DYNAMIC */	line_buff = realloc(line_buff, buff_size);	while (1) {		if ((line_len = read(grp_fd, line_buff + line_index,							 buff_size - line_index)) <= 0)			return NULL;		field_begin = strchr(line_buff, '\n');		if (field_begin != NULL) {			lseek(grp_fd,				  (long) (1 + field_begin -						  (line_len + line_index + line_buff)), SEEK_CUR);			*field_begin = '\0';			if (*line_buff == '#' || *line_buff == ' '				|| *line_buff == '\n' || *line_buff == '\t')				goto restart;			break;		} else {				/* Allocate some more space */			line_index = buff_size;			buff_size += 256;			line_buff = realloc(line_buff, buff_size);		}	}#endif							/* GR_SCALE_DYNAMIC */	/* Now parse the line */	group.gr_name = line_buff;	ptr = strchr(line_buff, ':');	if (ptr == NULL)		goto restart;	*ptr++ = '\0';	group.gr_passwd = ptr;	ptr = strchr(ptr, ':');	if (ptr == NULL)		goto restart;	*ptr++ = '\0';	field_begin = ptr;	ptr = strchr(ptr, ':');	if (ptr == NULL)		goto restart;	*ptr++ = '\0';	group.gr_gid = (gid_t) strtoul(field_begin, &endptr, 10);	if (*endptr != '\0')		goto restart;	member_num = 0;	field_begin = ptr;#ifndef GR_SCALE_DYNAMIC	while ((ptr = strchr(ptr, ',')) != NULL) {		*ptr = '\0';		ptr++;		members[member_num] = field_begin;		field_begin = ptr;		member_num++;	}	if (*field_begin == '\0')		members[member_num] = NULL;	else {		members[member_num] = field_begin;		members[member_num + 1] = NULL;	}#else							/* !GR_SCALE_DYNAMIC */	if (members != NULL)	    free(members);	members = (char **) malloc((member_num + 1) * sizeof(char *));	for ( ; field_begin && *field_begin != '\0'; field_begin = ptr) {	    if ((ptr = strchr(field_begin, ',')) != NULL)		*ptr++ = '\0';	    members[member_num++] = field_begin;	    members = (char **) realloc(members,		    (member_num + 1) * sizeof(char *));	}	members[member_num] = NULL;#endif							/* GR_SCALE_DYNAMIC */	group.gr_mem = members;	return &group;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人18水真多18精品一级做| 捆绑紧缚一区二区三区视频| 视频一区二区三区中文字幕| 国产一区二区不卡老阿姨| 97久久超碰国产精品电影| 日韩免费一区二区| 亚洲高清免费观看 | 久久久亚洲高清| 亚洲国产精品久久久男人的天堂| 黄色精品一二区| 欧美精品777| 一区二区三区欧美日| 国产精品一区一区三区| 91麻豆精品国产91久久久使用方法| 国产精品久久久久久亚洲毛片| 美女尤物国产一区| 欧美日韩大陆在线| 亚洲国产视频在线| 99视频精品全部免费在线| 久久免费的精品国产v∧| 日本成人在线一区| 欧美日韩高清影院| 亚洲成av人影院| 91精品91久久久中77777| 国产精品久久久久久久久动漫| 国产一区亚洲一区| 精品乱码亚洲一区二区不卡| 日本v片在线高清不卡在线观看| 欧美日韩在线播放| 亚洲一区二区三区中文字幕在线| 色中色一区二区| 一区二区三区视频在线看| av网站免费线看精品| 国产区在线观看成人精品| 国内外成人在线视频| 精品国产凹凸成av人导航| 麻豆成人免费电影| 精品福利在线导航| 麻豆精品一区二区av白丝在线| 在线不卡的av| 久久成人av少妇免费| 久久综合给合久久狠狠狠97色69| 国产一区美女在线| 久久综合精品国产一区二区三区| 国产精品一区不卡| 一区在线观看视频| 在线精品视频一区二区三四| 午夜婷婷国产麻豆精品| 91.麻豆视频| 国产一本一道久久香蕉| 久久久久久久电影| 91视频你懂的| 日韩精品欧美成人高清一区二区| 欧美精品777| 国产精品一区专区| 亚洲精品自拍动漫在线| 欧美日韩aaaaa| 激情深爱一区二区| 国产精品不卡一区| 欧美三级韩国三级日本三斤| 久久99久久久久久久久久久| 国产亚洲综合av| 欧洲一区二区三区在线| 美美哒免费高清在线观看视频一区二区 | 精品亚洲免费视频| 亚洲国产成人一区二区三区| 日本黄色一区二区| 久久超碰97中文字幕| 国产精品色噜噜| 欧美福利视频导航| 成人免费观看av| 天堂一区二区在线| 欧美国产禁国产网站cc| 欧美在线视频你懂得| 激情综合五月婷婷| 亚洲你懂的在线视频| 亚洲精品一区在线观看| 色www精品视频在线观看| 男人的天堂亚洲一区| 亚洲欧美国产高清| 久久噜噜亚洲综合| 欧洲另类一二三四区| 国产另类ts人妖一区二区| 亚洲主播在线观看| 国产精品短视频| 日韩一区二区免费电影| 色婷婷激情综合| 豆国产96在线|亚洲| 日韩精品视频网站| 亚洲自拍偷拍图区| 国产精品久久影院| 久久久99久久| 欧美大肚乱孕交hd孕妇| 精品视频1区2区| 91视频国产观看| 不卡一二三区首页| 国模冰冰炮一区二区| 日韩精品成人一区二区三区 | 精品免费一区二区三区| 欧美色综合天天久久综合精品| 成人av动漫网站| 国内精品自线一区二区三区视频| 亚洲va韩国va欧美va精品| 最近日韩中文字幕| 国产精品家庭影院| 久久久久99精品一区| 精品国产乱码久久久久久久| 欧美一级欧美三级| 正在播放一区二区| 欧美吻胸吃奶大尺度电影 | 日韩精品专区在线| 欧美日韩国产美| 欧美美女黄视频| 99久久综合色| 97精品久久久午夜一区二区三区 | 久久99精品国产91久久来源| 人妖欧美一区二区| 日本成人在线不卡视频| 日韩av电影免费观看高清完整版在线观看| 夜色激情一区二区| 亚洲永久精品大片| 午夜精品福利一区二区三区蜜桃| 亚洲一区二区三区小说| 亚洲一区二区精品视频| 亚洲成人精品一区| 美女一区二区久久| 国产精品综合网| 99视频一区二区| 精品视频123区在线观看| 91精品婷婷国产综合久久性色| 欧美一区二区免费视频| 2023国产精品| 最新久久zyz资源站| 一区二区三区在线免费观看| 午夜一区二区三区在线观看| 日韩中文字幕1| 国产一区二区三区不卡在线观看| 成人激情免费电影网址| 99精品国产视频| 欧美日韩亚洲高清一区二区| 日韩一区二区不卡| 中文字幕不卡的av| 亚洲一区二区三区在线看| 另类欧美日韩国产在线| 国产91丝袜在线播放九色| 91在线你懂得| 欧美二区三区91| 国产精品妹子av| 天堂午夜影视日韩欧美一区二区| 狠狠狠色丁香婷婷综合激情| 91日韩精品一区| 日韩区在线观看| 综合在线观看色| 麻豆精品一二三| 日本韩国一区二区| 欧美精品一区二区精品网| 一区精品在线播放| 蜜臀av性久久久久av蜜臀妖精| 成人av在线资源网站| 91精品中文字幕一区二区三区| 国产精品无人区| 日本怡春院一区二区| 91亚洲男人天堂| 日韩精品一区在线观看| 亚洲日本乱码在线观看| 久久草av在线| 欧美日本国产一区| 国产精品久久久久久妇女6080| 日精品一区二区| 成人黄色免费短视频| 日韩一区二区中文字幕| 亚洲综合免费观看高清完整版 | 一本大道久久a久久综合| 久久蜜桃av一区二区天堂| 天天综合天天综合色| 91美女视频网站| 国产精品免费丝袜| 国产麻豆一精品一av一免费| 7777精品伊人久久久大香线蕉最新版| 中文字幕不卡在线播放| 九九视频精品免费| 91麻豆精品91久久久久久清纯 | 国产精品美女久久久久久久 | 久久亚洲捆绑美女| 日韩主播视频在线| 欧美色涩在线第一页| 一区二区三区波多野结衣在线观看 | 免费高清成人在线| 欧美人妇做爰xxxⅹ性高电影| 中文字幕亚洲电影| 国产成人h网站| 国产亚洲欧美激情| 韩国欧美一区二区| 久久综合色婷婷| 久久99国产精品免费网站| 欧美精品一二三四| 日本免费在线视频不卡一不卡二 | 日本aⅴ亚洲精品中文乱码| 欧美在线不卡视频| 艳妇臀荡乳欲伦亚洲一区|