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

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

?? mangle.c

?? 一個類似Unix下tar命令的tar程序
?? C
字號:
#include <sys/types.h>
#include <sys/stat.h>
#include "tar.h"

#ifdef __STDC__
#define VOIDSTAR void *
#else
#define VOIDSTAR char *
#endif
extern VOIDSTAR ck_malloc();
extern VOIDSTAR init_buffer();
extern char *quote_copy_string();
extern char *get_buffer();
extern char *index();

extern union record *start_header();

extern struct stat hstat;		/* Stat struct corresponding */

struct mangled {
	struct mangled *next;
	int type;
	char mangled[NAMSIZ];
	char *linked_to;
	char normal[1];
};


/* Should use a hash table, etc. .  */
struct mangled *first_mangle;
int mangled_num = 0;

char *
find_mangled (name)
char *name;
{
	struct mangled *munge;

	for(munge=first_mangle;munge;munge=munge->next)
		if(!strcmp(name,munge->normal))
			return munge->mangled;
	return 0;
}


#ifdef S_IFLNK
void add_symlink_mangle(symlink, linkto, buffer)
char *symlink;
char *linkto;
char *buffer;
{
	struct mangled *munge,*kludge;

	munge=(struct mangled *)ck_malloc(sizeof(struct mangled)+strlen(symlink)+strlen(linkto)+2);
	if(!first_mangle)
		first_mangle=munge;
	else {
		for(kludge=first_mangle;kludge->next;kludge=kludge->next)
			;
		kludge->next=munge;
	}
	munge->type=1;
	munge->next=0;
	strcpy(munge->normal,symlink);
	munge->linked_to=munge->normal+strlen(symlink)+1;
	strcpy(munge->linked_to,linkto);
	sprintf(munge->mangled,"@@MaNgLeD.%d",mangled_num++);
	strncpy(buffer,munge->mangled,NAMSIZ);
}
#endif

void
add_mangle (name, buffer)
char *name;
char *buffer;
{
	struct mangled *munge,*kludge;

	munge=(struct mangled *)ck_malloc(sizeof(struct mangled)+strlen(name));
	if(!first_mangle)
		first_mangle=munge;
	else {
		for(kludge=first_mangle;kludge->next;kludge=kludge->next)
			;
		kludge->next=munge;
	}
	munge->next=0;
	munge->type=0;
	strcpy(munge->normal,name);
	sprintf(munge->mangled,"@@MaNgLeD.%d",mangled_num++);
	strncpy(buffer,munge->mangled,NAMSIZ);
}

void
write_mangled()
{
	struct mangled *munge;
	struct stat hstat;
	union record *header;
	char *ptr1,*ptr2;
	VOIDSTAR the_buffer;
	int size;
	int bufsize;

	if(!first_mangle)
		return;
	the_buffer=init_buffer();
	for(munge=first_mangle,size=0;munge;munge=munge->next) {
		ptr1=quote_copy_string(munge->normal);
		if(!ptr1)
			ptr1=munge->normal;
		if(munge->type) {
			add_buffer(the_buffer,"Symlink ",8);
			add_buffer(the_buffer,ptr1,strlen(ptr1));
			add_buffer(the_buffer," to ",4);
			
			if(ptr2=quote_copy_string(munge->linked_to)) {
				add_buffer(the_buffer,ptr2,strlen(ptr2));
				free(ptr2);
			} else
				add_buffer(the_buffer,munge->linked_to,strlen(munge->linked_to));
		} else {
			add_buffer(the_buffer,"Rename ",7);
			add_buffer(the_buffer,munge->mangled,strlen(munge->mangled));
			add_buffer(the_buffer," to ",4);
			add_buffer(the_buffer,ptr1,strlen(ptr1));
		}
		add_buffer(the_buffer,"\n",1);
		if(ptr1!=munge->normal)
			free(ptr1);
	}

	bzero(&hstat,sizeof(struct stat));
	hstat.st_atime=hstat.st_mtime=hstat.st_ctime=time(0);
	ptr1=get_buffer(the_buffer);
	hstat.st_size=strlen(ptr1);

	header=start_header("././@MaNgLeD_NaMeS",&hstat);
	header->header.linkflag=LF_NAMES;
	finish_header(header);
	size=hstat.st_size;
	header=findrec();
	bufsize = endofrecs()->charptr - header->charptr;

	while(bufsize<size) {
		bcopy(ptr1,header->charptr,bufsize);
		ptr1+=bufsize;
		size-=bufsize;
		userec(header+(bufsize-1)/RECORDSIZE);
		header=findrec();
		bufsize = endofrecs()->charptr - header->charptr;
	}
	bcopy(ptr1,header->charptr,size);
	bzero(header->charptr+size,bufsize-size);
	userec(header+(size-1)/RECORDSIZE);
}

void
extract_mangle(head)
union record *head;
{
	char *buf;
	char *fromtape;
	char *to;
	char *ptr,*ptrend;
	char *nam1,*nam1end;
	int size;
	int copied;

	size=hstat.st_size;
	buf=to=ck_malloc(size+1);
	buf[size]='\0';
	while(size>0) {
		fromtape=findrec()->charptr;
		if(fromtape==0) {
			msg("Unexpected EOF in mangled names!");
			return;
		}
		copied=endofrecs()->charptr-fromtape;
		if(copied>size)
			copied=size;
		bcopy(fromtape,to,copied);
		to+=copied;
		size-=copied;
		userec((union record *)(fromtape+copied-1));
	}
	for(ptr=buf;*ptr;ptr=ptrend) {
		ptrend=index(ptr,'\n');
		*ptrend++='\0';

		if(!strncmp(ptr,"Rename ",7)) {
			nam1=ptr+7;
			nam1end=index(nam1,' ');
			while(strncmp(nam1end," to ",4)) {
				nam1end++;
				nam1end=index(nam1end,' ');
			}
			*nam1end='\0';
			if(ptrend[-2]=='/')
				ptrend[-2]='\0';
			un_quote_string(nam1end+4);
			if(rename(nam1,nam1end+4))
				msg_perror("Can't rename %s to %s",nam1,nam1end+4);
			else if(f_verbose)
				msg("Renamed %s to %s",nam1,nam1end+4);
		}
#ifdef S_IFLNK
		else if(!strncmp(ptr,"Symlink ",8)) {
			nam1=ptr+8;
			nam1end=index(nam1,' ');
			while(strncmp(nam1end," to ",4)) {
				nam1end++;
				nam1end=index(nam1end,' ');
			}
			un_quote_string(nam1);
			un_quote_string(nam1end+4);
			if(symlink(nam1,nam1end+4) && (unlink(nam1end+4) || symlink(nam1,nam1end+4)))
				msg_perror("Can't symlink %s to %s",nam1,nam1end+4);
			else if(f_verbose)
				msg("Symlinkd %s to %s",nam1,nam1end+4);
		}
#endif
		else
			msg("Unknown demangling command %s",ptr);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区av在线| 亚洲一区免费在线观看| 欧美一级高清大全免费观看| 在线观看不卡一区| av在线不卡观看免费观看| 国产丶欧美丶日本不卡视频| 国产精品资源在线看| 精品一区二区三区av| 国产一区二三区| 国产精品一区二区在线观看不卡 | 国产剧情在线观看一区二区| 久色婷婷小香蕉久久| 青青草成人在线观看| 久久99国产精品麻豆| 国模少妇一区二区三区| 国产经典欧美精品| 99久久精品99国产精品| 欧美性生交片4| 国产亚洲欧美一级| 亚洲欧洲99久久| 亚洲高清免费观看| 久久成人久久鬼色| 福利一区在线观看| 在线一区二区视频| 欧美一级视频精品观看| 久久久久久97三级| 亚洲欧美另类图片小说| 日本成人在线看| 国产电影一区在线| 欧美色电影在线| 2017欧美狠狠色| 国产精品美女久久久久久| 亚洲免费成人av| 久热成人在线视频| 色婷婷亚洲综合| 日韩美一区二区三区| 中文字幕在线一区二区三区| 亚洲高清不卡在线观看| 国产精品原创巨作av| 欧美伊人久久久久久久久影院| 日韩视频123| 亚洲美女视频在线| 国产精品一品二品| 欧美浪妇xxxx高跟鞋交| 久久精品男人的天堂| 三级精品在线观看| 91丨porny丨首页| 欧美v日韩v国产v| 亚洲成av人片一区二区| 不卡av在线免费观看| 欧美一级搡bbbb搡bbbb| 亚洲一二三专区| 成人手机在线视频| 一级特黄大欧美久久久| 国产尤物一区二区| 337p亚洲精品色噜噜狠狠| 亚洲视频一区二区在线| 国产精品一二一区| 91精品国产免费久久综合| 亚洲乱码一区二区三区在线观看| 精品写真视频在线观看| 欧美午夜精品久久久| 亚洲精品国产无套在线观| 国产成人在线观看| 久久婷婷综合激情| 精品一区二区三区不卡 | 欧美精品99久久久**| 亚洲欧洲精品成人久久奇米网| 韩国三级电影一区二区| 欧美一区二区视频在线观看2020| 亚洲一级二级三级| 欧美精品第1页| 日韩影院在线观看| 在线播放91灌醉迷j高跟美女| 一区二区欧美在线观看| 在线观看三级视频欧美| 亚洲综合色网站| 日本韩国欧美国产| 亚洲一区日韩精品中文字幕| 91黄色小视频| 午夜精品视频一区| 欧美一区二区久久| 麻豆国产欧美日韩综合精品二区| 欧美丰满美乳xxx高潮www| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲男女一区二区三区| 色噜噜狠狠一区二区三区果冻| 亚洲免费观看高清完整版在线观看| www.性欧美| 一区二区三区在线观看欧美| 欧美日韩在线免费视频| 天堂精品中文字幕在线| 精品国产不卡一区二区三区| 国产一区二区三区国产| 国产精品电影一区二区| 在线观看欧美黄色| 日本aⅴ亚洲精品中文乱码| 精品国产sm最大网站免费看| 国产v综合v亚洲欧| 亚洲黄色性网站| 91精品国产麻豆| 成人污视频在线观看| 亚洲午夜免费电影| 精品国产乱码久久久久久夜甘婷婷 | 欧美色图免费看| 久久69国产一区二区蜜臀| 国产精品欧美综合在线| 欧美在线视频你懂得| 美日韩一区二区| 国产精品美女一区二区在线观看| 色94色欧美sute亚洲线路一ni | 日韩一级高清毛片| 成人性生交大片免费看中文| 亚洲一区在线观看网站| 精品不卡在线视频| 欧美日韩一级二级三级| 成人午夜电影网站| 日韩国产一二三区| 国产精品国产三级国产| 91精品福利在线一区二区三区 | 亚洲天堂精品在线观看| 日韩欧美综合一区| 久久网站热最新地址| 欧美色图在线观看| 丁香婷婷综合五月| 精品中文av资源站在线观看| 亚洲美女在线一区| 亚洲国产成人午夜在线一区| 91精品国产欧美一区二区成人 | 一本色道久久综合亚洲精品按摩| 激情文学综合插| 亚洲成在人线免费| 中文字幕亚洲不卡| 国产亚洲美州欧州综合国| 欧美三区在线观看| 91在线视频网址| 高清免费成人av| 国产精品中文字幕一区二区三区| 午夜婷婷国产麻豆精品| 亚洲美女偷拍久久| 最新成人av在线| 国产精品福利影院| 国产亲近乱来精品视频| 日韩欧美在线网站| 日韩一级片在线播放| 欧美精品丝袜中出| 欧美亚洲动漫另类| 色成人在线视频| 91官网在线免费观看| 色94色欧美sute亚洲线路一久| 成人18视频日本| av在线播放成人| 色综合色综合色综合色综合色综合| 成人综合日日夜夜| www.在线成人| 99精品视频在线观看| 波多野结衣中文字幕一区二区三区| 国产激情一区二区三区桃花岛亚洲| 精品一区二区三区久久| 国产一区二区影院| 国产99久久精品| 9久草视频在线视频精品| 99久久99久久久精品齐齐| 91热门视频在线观看| 日本精品裸体写真集在线观看| 69p69国产精品| 精品国产污污免费网站入口| 精品电影一区二区| 欧美激情一区二区三区不卡| 欧美国产乱子伦| 亚洲伦理在线精品| 日韩精品欧美精品| 国产精品一区二区视频| 成人av动漫网站| 在线观看91视频| 日韩欧美成人午夜| 亚洲国产成人自拍| 亚洲成在人线免费| 精品亚洲国产成人av制服丝袜| 国产精品中文字幕日韩精品| 91在线视频在线| 日韩手机在线导航| 欧美国产综合色视频| 亚洲国产aⅴ成人精品无吗| 久久91精品国产91久久小草| 成人教育av在线| 欧美疯狂做受xxxx富婆| 日本一区二区视频在线| 亚洲国产毛片aaaaa无费看| 国内精品写真在线观看| 色系网站成人免费| 精品国产一区二区三区久久久蜜月 | 奇米精品一区二区三区四区| 福利一区二区在线观看| 欧美伊人久久久久久久久影院 | 亚洲香肠在线观看| 国内精品国产三级国产a久久| 91女厕偷拍女厕偷拍高清| 日韩欧美一二三区| 亚洲一区二区欧美激情|