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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? print.c

?? 這是 gnu 程序中 ls 程序的源代碼程序。
?? C
字號(hào):
/*	$NetBSD: print.c,v 1.38 2003/12/26 06:19:19 grant Exp $	*//* * Copyright (c) 1989, 1993, 1994 *	The Regents of the University of California.  All rights reserved. * * This code is derived from software contributed to Berkeley by * Michael Fischbein. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */#include <sys/cdefs.h>#ifndef lint#if 0static char sccsid[] = "@(#)print.c	8.5 (Berkeley) 7/28/94";#else__RCSID("$NetBSD: print.c,v 1.38 2003/12/26 06:19:19 grant Exp $");#endif#endif /* not lint */#include <sys/param.h>#include <sys/stat.h>#include <err.h>#include <errno.h>#include <fts.h>#include <grp.h>#include <pwd.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <tzfile.h>#include <unistd.h>#include <util.h>#include "ls.h"#include "extern.h"extern int termwidth;static int	printaname(FTSENT *, int, int);static void	printlink(FTSENT *);static void	printtime(time_t);static int	printtype(u_int);static time_t	now;#define	IS_NOPRINT(p)	((p)->fts_number == NO_PRINT)voidprintscol(DISPLAY *dp){	FTSENT *p;	for (p = dp->list; p; p = p->fts_link) {		if (IS_NOPRINT(p))			continue;		(void)printaname(p, dp->s_inode, dp->s_block);		(void)putchar('\n');	}}voidprintlong(DISPLAY *dp){	struct stat *sp;	FTSENT *p;	NAMES *np;	char buf[20], szbuf[5];	now = time(NULL);	if (dp->list->fts_level != FTS_ROOTLEVEL && (f_longform || f_size)) {		if (f_humanize) {			if ((humanize_number(szbuf, sizeof(szbuf), dp->stotal,			    "", HN_AUTOSCALE,			    (HN_DECIMAL | HN_B | HN_NOSPACE))) == -1)				err(1, "humanize_number");			(void)printf("total %s\n", szbuf);		} else {			(void)printf("total %llu\n",			    (long long)(howmany(dp->btotal, blocksize)));		}	}	for (p = dp->list; p; p = p->fts_link) {		if (IS_NOPRINT(p))			continue;		sp = p->fts_statp;		if (f_inode)			(void)printf("%*lu ", dp->s_inode,			    (unsigned long)sp->st_ino);		if (f_size && !f_humanize) {			(void)printf("%*llu ", dp->s_block,			    (long long)howmany(sp->st_blocks, blocksize));		}		(void)strmode(sp->st_mode, buf);		np = p->fts_pointer;		(void)printf("%s %*lu ", buf, dp->s_nlink,		    (unsigned long)sp->st_nlink);		if (!f_grouponly)			(void)printf("%-*s  ", dp->s_user, np->user);		(void)printf("%-*s  ", dp->s_group, np->group);		if (f_flags)			(void)printf("%-*s ", dp->s_flags, np->flags);		if (S_ISCHR(sp->st_mode) || S_ISBLK(sp->st_mode))			(void)printf("%*u, %*u ",			    dp->s_major, major(sp->st_rdev), dp->s_minor,			    minor(sp->st_rdev));		else			if (f_humanize) {				if ((humanize_number(szbuf, sizeof(szbuf),				    sp->st_size, "", HN_AUTOSCALE,				    (HN_DECIMAL | HN_B | HN_NOSPACE))) == -1)					err(1, "humanize_number");				(void)printf("%*s ", dp->s_size, szbuf);			} else {				(void)printf("%*llu ", dp->s_size,				    (long long)sp->st_size);			}		if (f_accesstime)			printtime(sp->st_atime);		else if (f_statustime)			printtime(sp->st_ctime);		else			printtime(sp->st_mtime);		if (f_octal || f_octal_escape)			(void)safe_print(p->fts_name);		else if (f_nonprint)			(void)printescaped(p->fts_name);		else			(void)printf("%s", p->fts_name);		if (f_type || (f_typedir && S_ISDIR(sp->st_mode)))			(void)printtype(sp->st_mode);		if (S_ISLNK(sp->st_mode))			printlink(p);		(void)putchar('\n');	}}voidprintcol(DISPLAY *dp){	static FTSENT **array;	static int lastentries = -1;	FTSENT *p;	int base, chcnt, col, colwidth, num;	int numcols, numrows, row;	char szbuf[5];	colwidth = dp->maxlen;	if (f_inode)		colwidth += dp->s_inode + 1;	if (f_size) {		if (f_humanize)			colwidth += dp->s_size + 1;		else			colwidth += dp->s_block + 1;	}	if (f_type || f_typedir)		colwidth += 1;	colwidth += 1;	if (termwidth < 2 * colwidth) {		printscol(dp);		return;	}	/*	 * Have to do random access in the linked list -- build a table	 * of pointers.	 */	if (dp->entries > lastentries) {		lastentries = dp->entries;		if ((array =		    realloc(array, dp->entries * sizeof(FTSENT *))) == NULL) {			warn(NULL);			printscol(dp);		}	}	for (p = dp->list, num = 0; p; p = p->fts_link)		if (p->fts_number != NO_PRINT)			array[num++] = p;	numcols = termwidth / colwidth;	colwidth = termwidth / numcols;		/* spread out if possible */	numrows = num / numcols;	if (num % numcols)		++numrows;	if (dp->list->fts_level != FTS_ROOTLEVEL && (f_longform || f_size)) {		if (f_humanize) {			if ((humanize_number(szbuf, sizeof(szbuf), dp->stotal,			    "", HN_AUTOSCALE,			    (HN_DECIMAL | HN_B | HN_NOSPACE))) == -1)				err(1, "humanize_number");			(void)printf("total %s\n", szbuf);		} else {			(void)printf("total %llu\n",			    (long long)(howmany(dp->btotal, blocksize)));		}	}	for (row = 0; row < numrows; ++row) {		for (base = row, chcnt = col = 0; col < numcols; ++col) {			chcnt = printaname(array[base], dp->s_inode,			    f_humanize ? dp->s_size : dp->s_block);			if ((base += numrows) >= num)				break;			while (chcnt++ < colwidth)				(void)putchar(' ');		}		(void)putchar('\n');	}}voidprintacol(DISPLAY *dp){	FTSENT *p;	int chcnt, col, colwidth;	int numcols;	char szbuf[5];	colwidth = dp->maxlen;	if (f_inode)		colwidth += dp->s_inode + 1;	if (f_size) {		if (f_humanize)			colwidth += dp->s_size + 1;		else			colwidth += dp->s_block + 1;	}	if (f_type || f_typedir)		colwidth += 1;	colwidth += 1;	if (termwidth < 2 * colwidth) {		printscol(dp);		return;	}	numcols = termwidth / colwidth;	colwidth = termwidth / numcols;		/* spread out if possible */	if (dp->list->fts_level != FTS_ROOTLEVEL && (f_longform || f_size)) {		if (f_humanize) {			if ((humanize_number(szbuf, sizeof(szbuf), dp->stotal,			    "", HN_AUTOSCALE,			    (HN_DECIMAL | HN_B | HN_NOSPACE))) == -1)				err(1, "humanize_number");			(void)printf("total %s\n", szbuf);		} else {			(void)printf("total %llu\n",			    (long long)(howmany(dp->btotal, blocksize)));		}	}	chcnt = col = 0;	for (p = dp->list; p; p = p->fts_link) {		if (IS_NOPRINT(p))			continue;		if (col >= numcols) {			chcnt = col = 0;			(void)putchar('\n');		}		chcnt = printaname(p, dp->s_inode,		    f_humanize ? dp->s_size : dp->s_block);		while (chcnt++ < colwidth)			(void)putchar(' ');		col++;	}	(void)putchar('\n');}voidprintstream(DISPLAY *dp){	FTSENT *p;	int col;	int extwidth;	extwidth = 0;	if (f_inode)		extwidth += dp->s_inode + 1;	if (f_size) {		if (f_humanize)			extwidth += dp->s_size + 1;		else 			extwidth += dp->s_block + 1;	}	if (f_type)		extwidth += 1;	for (col = 0, p = dp->list; p != NULL; p = p->fts_link) {		if (IS_NOPRINT(p))			continue;		if (col > 0) {			(void)putchar(','), col++;			if (col + 1 + extwidth + p->fts_namelen >= termwidth)				(void)putchar('\n'), col = 0;			else				(void)putchar(' '), col++;		}		col += printaname(p, dp->s_inode,		    f_humanize ? dp->s_size : dp->s_block);	}	(void)putchar('\n');}/* * print [inode] [size] name * return # of characters printed, no trailing characters. */static intprintaname(FTSENT *p, int inodefield, int sizefield){	struct stat *sp;	int chcnt;	char szbuf[5];	sp = p->fts_statp;	chcnt = 0;	if (f_inode)		chcnt += printf("%*lu ", inodefield, (unsigned long)sp->st_ino);	if (f_size) {		if (f_humanize) {			if ((humanize_number(szbuf, sizeof(szbuf), sp->st_size,			    "", HN_AUTOSCALE,			    (HN_DECIMAL | HN_B | HN_NOSPACE))) == -1)				err(1, "humanize_number");			chcnt += printf("%*s ", sizefield, szbuf);		} else {			chcnt += printf("%*llu ", sizefield,			    (long long)howmany(sp->st_blocks, blocksize));		}	}	if (f_octal || f_octal_escape)		chcnt += safe_print(p->fts_name);	else if (f_nonprint)		chcnt += printescaped(p->fts_name);	else		chcnt += printf("%s", p->fts_name);	if (f_type || (f_typedir && S_ISDIR(sp->st_mode)))		chcnt += printtype(sp->st_mode);	return (chcnt);}static voidprinttime(time_t ftime){	int i;	char *longstring;	longstring = ctime(&ftime);	for (i = 4; i < 11; ++i)		(void)putchar(longstring[i]);#define	SIXMONTHS	((DAYSPERNYEAR / 2) * SECSPERDAY)	if (f_sectime)		for (i = 11; i < 24; i++)			(void)putchar(longstring[i]);	else if (ftime + SIXMONTHS > now && ftime - SIXMONTHS < now)		for (i = 11; i < 16; ++i)			(void)putchar(longstring[i]);	else {		(void)putchar(' ');		for (i = 20; i < 24; ++i)			(void)putchar(longstring[i]);	}	(void)putchar(' ');}static intprinttype(u_int mode){	switch (mode & S_IFMT) {	case S_IFDIR:		(void)putchar('/');		return (1);	case S_IFIFO:		(void)putchar('|');		return (1);	case S_IFLNK:		(void)putchar('@');		return (1);	case S_IFSOCK:		(void)putchar('=');		return (1);	case S_IFWHT:		(void)putchar('%');		return (1);	}	if (mode & (S_IXUSR | S_IXGRP | S_IXOTH)) {		(void)putchar('*');		return (1);	}	return (0);}static voidprintlink(FTSENT *p){	int lnklen;	char name[MAXPATHLEN + 1], path[MAXPATHLEN + 1];	if (p->fts_level == FTS_ROOTLEVEL)		(void)snprintf(name, sizeof(name), "%s", p->fts_name);	else		(void)snprintf(name, sizeof(name),		    "%s/%s", p->fts_parent->fts_accpath, p->fts_name);	if ((lnklen = readlink(name, path, sizeof(path) - 1)) == -1) {		(void)fprintf(stderr, "\nls: %s: %s\n", name, strerror(errno));		return;	}	path[lnklen] = '\0';	(void)printf(" -> ");	if (f_octal || f_octal_escape)		(void)safe_print(path);	else if (f_nonprint)		(void)printescaped(path);	else		(void)printf("%s", path);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩不卡免费视频| jlzzjlzz国产精品久久| 成人免费视频在线观看| 欧美三级电影网| 成人av在线播放网站| 另类综合日韩欧美亚洲| 亚洲激情图片一区| 久久九九久久九九| 91精品国产综合久久久久久久| av成人动漫在线观看| 国产精品1024| 激情文学综合插| 日韩成人午夜电影| 国产精品不卡在线观看| 久久九九99视频| 亚洲精品一区二区三区蜜桃下载| 欧美性xxxxx极品少妇| 97se亚洲国产综合自在线观| 国产成人免费视频一区| 久久成人久久爱| 久久er精品视频| 奇米影视7777精品一区二区| 综合自拍亚洲综合图不卡区| 日韩精品一区二区三区swag| 69成人精品免费视频| 在线观看视频一区| 91伊人久久大香线蕉| 丁香啪啪综合成人亚洲小说| 国产成人免费9x9x人网站视频| 免费看欧美美女黄的网站| 香蕉乱码成人久久天堂爱免费| 亚洲久草在线视频| 亚洲女同ⅹxx女同tv| 亚洲三级久久久| 亚洲精品国产精华液| 亚洲靠逼com| 亚洲一区av在线| 午夜电影网一区| 舔着乳尖日韩一区| 日韩黄色免费电影| 青娱乐精品视频在线| 日韩精品电影在线| 日韩成人免费看| 精品一区二区三区影院在线午夜| 另类调教123区| 国产一区 二区 三区一级| 国产乱子轮精品视频| 粉嫩av一区二区三区| 床上的激情91.| 色综合天天综合网天天看片| 91精彩视频在线观看| 精品污污网站免费看| 欧美精品在线视频| 欧美电影免费观看高清完整版在线| 日韩免费看的电影| 国产欧美视频一区二区| 国产精品国产自产拍在线| 亚洲免费观看高清完整| 亚洲国产日韩综合久久精品| 日本三级亚洲精品| 国产精品资源在线看| 白白色亚洲国产精品| 欧美亚洲日本国产| 91麻豆精品国产91久久久久 | 99精品黄色片免费大全| 色国产综合视频| 日韩三级在线观看| 日本一区免费视频| 亚洲成a人v欧美综合天堂| 国精品**一区二区三区在线蜜桃| 国产ts人妖一区二区| 在线视频你懂得一区二区三区| 欧美精品在线观看一区二区| 国产视频一区在线播放| 一区二区三区四区av| 免费在线观看不卡| av一区二区三区| 91精品黄色片免费大全| 国产精品久久二区二区| 日韩经典中文字幕一区| 国产毛片精品视频| 欧美性大战久久久久久久| 欧美精品一区二区三| 亚洲精品日日夜夜| 激情都市一区二区| 在线免费观看日本欧美| 26uuu亚洲综合色欧美| 亚洲一区二区三区四区不卡| 国产乱码精品一品二品| 欧美久久免费观看| 一区免费观看视频| 激情五月婷婷综合网| 欧美自拍丝袜亚洲| 欧美高清在线视频| 美女精品自拍一二三四| 色素色在线综合| 亚洲国产电影在线观看| 日韩二区在线观看| www.欧美.com| 国产亚洲一区二区在线观看| 日韩国产精品久久| 欧美在线观看视频在线| 国产精品家庭影院| 国产在线乱码一区二区三区| 3d成人h动漫网站入口| 亚洲免费在线观看视频| 国产成人a级片| 日韩精品一区在线| 天堂一区二区在线| 欧美日韩在线播放一区| 亚洲欧洲综合另类在线| 成人黄色av电影| 欧美激情综合在线| 国产高清久久久久| 久久男人中文字幕资源站| 免费在线一区观看| 欧美日韩久久久一区| 亚洲精品视频一区| 91无套直看片红桃| 中文字幕亚洲综合久久菠萝蜜| 国产激情一区二区三区| 欧美精品一区二| 韩日欧美一区二区三区| 日韩一级片在线观看| 日韩av在线播放中文字幕| 欧美色图天堂网| 亚洲国产一二三| 欧美另类z0zxhd电影| 亚洲欧美一区二区久久| 91蜜桃在线免费视频| 亚洲视频香蕉人妖| 色综合中文字幕国产| 日本一区二区在线不卡| 粉嫩av一区二区三区在线播放| 欧美韩国日本综合| 成人av影院在线| 亚洲欧美日韩国产综合| 日本精品免费观看高清观看| 一区二区三区中文免费| 欧美中文字幕久久| 爽好多水快深点欧美视频| 6080午夜不卡| 日韩av一区二区在线影视| 日韩欧美视频在线| 国产馆精品极品| 中文字幕在线观看一区| 99久久久久免费精品国产| 亚洲制服欧美中文字幕中文字幕| 欧美日韩免费高清一区色橹橹 | 亚洲成人动漫在线观看| 欧美精品乱码久久久久久按摩| 日韩中文字幕亚洲一区二区va在线| 在线成人免费视频| 国产伦精品一区二区三区视频青涩| 欧美激情一区二区三区| 色一情一伦一子一伦一区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲线精品一区二区三区| 欧美一卡在线观看| 精一区二区三区| 国产精品天天摸av网| 在线观看亚洲a| 激情亚洲综合在线| 亚洲人亚洲人成电影网站色| 欧美日韩国产综合草草| 黄页网站大全一区二区| 国产精品丝袜在线| 欧美日韩精品一区视频| 国产伦理精品不卡| 亚洲女同女同女同女同女同69| 91精品国产一区二区| 懂色av一区二区夜夜嗨| 亚洲最新视频在线播放| 日韩精品专区在线影院重磅| 94-欧美-setu| 麻豆成人免费电影| 亚洲欧美日韩精品久久久久| 日韩视频一区二区| heyzo一本久久综合| 丝袜亚洲另类丝袜在线| 亚洲国产精品99久久久久久久久| 欧美另类变人与禽xxxxx| 国产69精品久久99不卡| 首页国产欧美日韩丝袜| 国产精品初高中害羞小美女文| 91精品国产麻豆| 一本在线高清不卡dvd| 久久99国产精品尤物| 亚洲国产欧美在线人成| 亚洲国产精品二十页| 欧美一卡2卡3卡4卡| 色噜噜偷拍精品综合在线| 国产一区二区精品在线观看| 视频一区中文字幕| 亚洲日本欧美天堂| 国产亚洲一区二区三区四区 | 在线看日韩精品电影| 丁香激情综合国产| 久久99国产精品免费| 亚洲第一av色|