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

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

?? leafpak2.c

?? leafpak: 一個(gè)文件打包器的源代碼
?? C
字號(hào):
/* * leafpak2.c * decode leaf archive file * 10/17/1997 by TF <tf@imou.to>*//* * Changes: * 10/31/2000 TAKAHASHI Kaoru <kaoru@kaisei.org> *            Fixed a probrem when fopen(,"w") failed.*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define FNAME_LEN 13#define LIST 0#define EXTRACT 1#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endiftypedef struct {  FILE *fp;  int file_num;  char **name;  int *position;  int *length;  int *unknown1;  int *unknown2;} LEAFPACK2;LEAFPACK2 *leafpack2_init(const char *);void leafpack2_close(LEAFPACK2 *);void print_table(LEAFPACK2 *, int);void leafpack2_extract_all(LEAFPACK2 *);int leafpack2_extract_file(LEAFPACK2 *, const char *);static void get_table(LEAFPACK2 *);static int get_longword(FILE *);static void usage_exit(void);static void regularize_name(char *name);int main(int argc, char *argv[]){  LEAFPACK2 *lp;  int mode, verbose = FALSE;  char *pak;  int i;  switch (argc) {  case 1:    /* no file or option is specified */    usage_exit();    break;  case 2:    /* filename or option is specified. */    mode = LIST;    pak = argv[1];    break;  default:    /* option and archive file should be specified. */    /* in this case, an 'x' option exract whole archive. */    pak = argv[2];    if (!strncmp(argv[1], "h", 1)) {      usage_exit();    } else if (!strncmp(argv[1], "v", 1)) {      verbose = TRUE;    } else if (!strncmp(argv[1], "l", 1)) {      /* list mode has priority to extract mode */      mode = LIST;    } else if (!strncmp(argv[1], "e", 1) || !strncmp(argv[1], "x", 1)) {      mode = EXTRACT;    } else {      /* bad option */      usage_exit();    }  }  lp = leafpack2_init(pak);  if (lp == NULL) {    fprintf(stderr, "Aborted.\n");    exit(1);  }  get_table(lp);    switch (mode) {  case LIST:    print_table(lp, verbose);    break;  case EXTRACT:    if (argc == 3) {      printf("Extract whole archive.\n");      leafpack2_extract_all(lp);    } else {      for (i = 3; i < argc; i++) {	leafpack2_extract_file(lp, argv[i]);      }    }    break;  default:    /* sholud not reach here. */    fprintf(stderr, "Unexpected error.\n");    exit(1);  }  leafpack2_close(lp);  return 0;}LEAFPACK2 *leafpack2_init(const char *filename){  LEAFPACK2 *lp;  lp = (LEAFPACK2 *)malloc(sizeof(LEAFPACK2));  if (lp == NULL) {    fprintf(stderr, "init_leafpack2: Memory allocation error.\n");    return NULL;  }    lp->fp = fopen(filename, "r");  if (lp->fp == NULL) {    fprintf(stderr, "init_leafpack2: Can't open %s.\n", filename);    return NULL;  }  return lp;}void leafpack2_close(LEAFPACK2 *lp){  int i;  if (lp == NULL) {    return;  }    for (i = 0; i < lp->file_num; i++) {    free(lp->name[i]);  }  free(lp->position);  free(lp->length);  free(lp->unknown1);  free(lp->unknown2);    free(lp);}void print_table(LEAFPACK2 *lp, int verbose){  int i;  if (lp == NULL) {    fprintf(stderr, "print_table: no data.\n");    return;  }  if (verbose == TRUE) {    printf("Filename      Position    Size       ?1     ?2\n");    printf("----------------------------------------------\n");    for (i = 0; i < lp->file_num; i++) {      printf("%12s  %08x %7d %7d %7d\n",	     lp->name[i], lp->position[i], lp->length[i],	     lp->unknown1[i], lp->unknown2[i]);    }  } else {    printf("Filename      Position    Size\n");    printf("------------------------------\n");    for (i = 0; i < lp->file_num; i++) {      printf("%12s  %08x %7d\n", lp->name[i], lp->position[i], lp->length[i]);    }  }  printf("\n%d files in archive.\n", lp->file_num);}static void get_table(LEAFPACK2 *lp){  int i, j;  /* get how many files */  lp->file_num = get_longword(lp->fp);  /* allocate memory for a table */  lp->name = (char **)calloc(lp->file_num, sizeof(char *));  lp->position = (int *)calloc(lp->file_num, sizeof(int));  lp->length = (int *)calloc(lp->file_num, sizeof(int));  lp->unknown1 = (int *)calloc(lp->file_num, sizeof(int));  lp->unknown2 = (int *)calloc(lp->file_num, sizeof(int));  for (i = 0; i < lp->file_num; i++) {    lp->name[i] = (char *)calloc(FNAME_LEN, sizeof(char));  }  for (i = 0; i < lp->file_num; i++) {    for (j = 0; j < FNAME_LEN - 1; j++) {      lp->name[i][j] = fgetc(lp->fp);    }    lp->name[i][FNAME_LEN - 1] = '\0';    regularize_name(lp->name[i]);    lp->unknown1[i] = get_longword(lp->fp);    lp->length[i] = get_longword(lp->fp);    lp->unknown2[i] = get_longword(lp->fp);    lp->position[i] = get_longword(lp->fp);  }}static int get_longword(FILE *fp){  int b1, b2, b3, b4;  b1 = fgetc(fp);  b2 = fgetc(fp);  b3 = fgetc(fp);  b4 = fgetc(fp);  return (b4 << 24) | (b3 << 16) | (b2 << 8) | b1;}static void usage_exit(void){  fprintf(stderr, "Usage: leafpak2 [ehlxv] archive [file1 file2 ...]");  exit(1);}void leafpack2_extract_all(LEAFPACK2 *lp){  int i, j;  FILE *fp;  for (i = 0; i < lp->file_num; i++) {    printf("extracting %s...", lp->name[i]);    fflush(stdout);        fp = fopen(lp->name[i], "w");    if (fp == NULL) {      printf("Can't write %s\n",lp->name[i]);    } else {      fseek(lp->fp, (long)lp->position[i], SEEK_SET);          for (j = 0; j < lp->length[i]; j++) {	fputc(fgetc(lp->fp), fp);      }          fclose(fp);      printf("done.\n");    }  }#ifdef DEBUG  if (fgetc(lp->fp) == EOF) {    printf("reached the EOF\n");  }#endif}int leafpack2_extract_file(LEAFPACK2 *lp, const char *filename){  int i = 0, j;  FILE *fp;  /* lookup table */  while (i < lp->file_num) {    if (!strcasecmp(filename, lp->name[i])) {      break;    }    i++;  }  if (i == lp->file_num) {    printf("%s isn't included in this archive.\n", filename);    return 1;  }  printf("extracting %s...", filename);  fflush(stdout);  fp = fopen(filename, "w");  if (fp == NULL) {    printf("Can't write %s.\n", filename);    return 1;  }  fseek(lp->fp, (long)lp->position[i], SEEK_SET);  for (j = 0; j < lp->length[i]; j++) {    fputc(fgetc(lp->fp), fp);  }  fclose(fp);  printf("done.\n");  return 0;}static void regularize_name(char *name){  char buf[FNAME_LEN];  int i = 0;    strcpy(buf, name);  while (buf[i] != 0) {    name[i] = buf[i];    i++;  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产91乱码一区二区三区| 成人性生交大合| 欧美日韩一区高清| 亚洲成人免费影院| 欧美人动与zoxxxx乱| 免费在线成人网| 2023国产精品| 色综合久久中文字幕综合网| 一区二区三区不卡视频| 91精品国产福利| 国产激情视频一区二区三区欧美| 中文字幕av一区二区三区高| www.欧美色图| 午夜激情综合网| 精品国产一区二区三区忘忧草| 丁香激情综合国产| 亚洲与欧洲av电影| 久久青草欧美一区二区三区| 97精品国产97久久久久久久久久久久| 亚洲成人精品一区二区| 久久人人爽爽爽人久久久| 91毛片在线观看| 蜜桃视频一区二区| 日韩毛片高清在线播放| 91精品国产综合久久久蜜臀图片| 国产成人在线免费观看| 亚洲综合一区二区| 久久精品人人爽人人爽| 欧美丝袜丝交足nylons| 国模娜娜一区二区三区| 一区二区在线免费观看| 久久综合色婷婷| 欧美性大战久久| 国产成人综合在线观看| 午夜日韩在线观看| 国产精品久久久久影院老司| 91麻豆精品国产无毒不卡在线观看| 丰满岳乱妇一区二区三区| 视频一区欧美精品| 亚洲伦理在线免费看| 国产午夜精品一区二区三区视频| 欧美三级日韩在线| 91在线播放网址| 国产精品一级片| 美女国产一区二区三区| 亚洲日本va午夜在线影院| 久久嫩草精品久久久精品一| 欧美精品乱码久久久久久按摩| 成人午夜在线免费| 另类调教123区| 午夜久久电影网| 亚洲免费av网站| 国产精品免费网站在线观看| 欧美岛国在线观看| 欧美欧美午夜aⅴ在线观看| 色综合久久99| 99国产精品久| 成人激情视频网站| 高清国产一区二区| 国模少妇一区二区三区| 美国毛片一区二区| 日本欧美在线看| 三级不卡在线观看| 天堂va蜜桃一区二区三区| 亚洲一区二区三区不卡国产欧美| 综合电影一区二区三区 | 亚洲成人一区二区| 亚洲欧美激情小说另类| 国产欧美日韩另类一区| 久久嫩草精品久久久精品| 精品区一区二区| 日韩视频一区在线观看| 69精品人人人人| 制服丝袜亚洲网站| 欧美一二三区精品| 日韩欧美国产不卡| 久久影视一区二区| 久久久国产午夜精品| 国产亚洲精品中文字幕| 国产亚洲精品免费| 中文一区二区完整视频在线观看| 久久精品视频在线看| 亚洲国产精品成人综合色在线婷婷| 国产亚洲制服色| 欧美极品另类videosde| 国产精品久久久久久久久图文区| 国产精品久久久久久久第一福利 | 色综合久久九月婷婷色综合| 97国产一区二区| 色狠狠桃花综合| 久久精品一区二区三区不卡牛牛| 亚洲精品在线三区| 中文字幕精品在线不卡| 亚洲另类中文字| 视频一区在线播放| 国产一区二区在线观看视频| 国产999精品久久久久久| 97久久精品人人做人人爽| 欧美视频在线一区二区三区| 欧美人与z0zoxxxx视频| 精品国产电影一区二区| 中文字幕第一区综合| 亚洲综合丝袜美腿| 久久99精品久久久| 9久草视频在线视频精品| 欧美日本国产视频| 国产亚洲人成网站| 亚洲精品视频观看| 美女免费视频一区二区| av在线不卡观看免费观看| 欧美天天综合网| 国产视频一区二区在线| 一区二区三区日韩欧美| 久久精品国产成人一区二区三区| 国产成人在线视频播放| 欧美三级电影在线看| 国产欧美日韩不卡免费| 天堂一区二区在线免费观看| 国产v综合v亚洲欧| 欧美伦理视频网站| 国产精品剧情在线亚洲| 美女精品一区二区| 色成年激情久久综合| 精品91自产拍在线观看一区| 亚洲精选视频在线| 国产一区二区三区高清播放| 色综合视频在线观看| 久久久精品一品道一区| 亚洲成av人片一区二区梦乃| 国产99精品国产| 欧美大片一区二区| 尤物视频一区二区| 成人av午夜电影| 精品久久久久一区二区国产| 亚洲国产精品欧美一二99 | 91年精品国产| 久久女同性恋中文字幕| 奇米四色…亚洲| 欧美精品亚洲一区二区在线播放| 国产精品看片你懂得| 国产麻豆午夜三级精品| 欧美一二三四在线| 国产成人一区在线| 日韩欧美一区在线观看| 亚洲国产婷婷综合在线精品| 91麻豆精品一区二区三区| 国产欧美日韩在线| 国产一区二区三区免费观看| 日韩丝袜情趣美女图片| 亚洲www啪成人一区二区麻豆| 色综合天天综合| 国产精品第13页| 成人国产精品免费观看动漫| 2020国产精品久久精品美国| 久久国产福利国产秒拍| 欧美剧在线免费观看网站 | 久久99精品久久久久| 欧美情侣在线播放| 亚洲成人精品一区| 欧美曰成人黄网| 亚洲综合在线五月| 精品视频一区二区三区免费| 亚洲精选视频在线| 91国偷自产一区二区开放时间| 亚洲欧洲精品一区二区精品久久久 | 欧美亚洲国产一区二区三区va| 中文字幕一区二区三区四区不卡 | 日韩精品亚洲专区| 欧美日韩国产系列| 日韩电影一区二区三区| 69堂成人精品免费视频| 美腿丝袜亚洲色图| wwwwxxxxx欧美| 成人中文字幕电影| 中文字幕综合网| 欧美日韩国产综合视频在线观看 | 亚洲五码中文字幕| 欧美狂野另类xxxxoooo| 免费成人在线网站| 久久蜜桃一区二区| 99精品视频中文字幕| 亚洲国产精品自拍| 日韩久久免费av| 成人丝袜18视频在线观看| 1024成人网| 91精品国产综合久久久久久久| 秋霞电影一区二区| 欧美国产一区视频在线观看| eeuss鲁片一区二区三区在线观看| 日韩一区欧美小说| 在线播放国产精品二区一二区四区 | 99久久精品国产观看| 亚洲成人一区二区| 久久综合久久综合久久综合| 成人午夜短视频| 亚洲图片欧美视频| 久久女同精品一区二区| 91久久精品国产91性色tv| 日韩激情在线观看| 国产精品久久久久婷婷二区次|