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

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

?? md5sum.c

?? 手機嵌入式Linux下可用的busybox源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
          /* A valid line does not end with a backslash.  */          return FALSE;        }        ++i;        switch (s[i++]) {         case 'n':          *dst++ = '\n';          break;         case '\\':          *dst++ = '\\';          break;         default:          /* Only `\' or `n' may follow a backslash.  */          return FALSE;        }        break;       case '\0':        /* The file name may not contain a NUL.  */        return FALSE;        break;       default:        *dst++ = s[i++];        break;      }    }    *dst = '\0';  }  return TRUE;}static inline int hex_digits(unsigned char const *s){  while (*s) {    if (!ISXDIGIT(*s))      return TRUE;    ++s;  }  return FALSE;}/* An interface to md5_stream.  Operate on FILENAME (it may be "-") and   put the result in *MD5_RESULT.  Return non-zero upon failure, zero   to indicate success.  */static int md5_file(const char *filename,                    unsigned char *md5_result){  FILE *fp;  if (filename[0] == '-' && filename[1] == '\0') {    have_read_stdin = 1;    fp = stdin;  } else {    fp = wfopen(filename, "r");    if (fp == NULL)      return FALSE;    }  if (md5_stream(fp, md5_result)) {    perror_msg("%s", filename);    if (fp != stdin)      fclose(fp);    return FALSE;  }  if (fp != stdin && fclose(fp) == EOF) {    perror_msg("%s", filename);    return FALSE;  }  return TRUE;}static int md5_check(const char *checkfile_name){  FILE *checkfile_stream;  int n_properly_formated_lines = 0;  int n_mismatched_checksums = 0;  int n_open_or_read_failures = 0;  unsigned char md5buffer[16];  size_t line_number;  char line[BUFSIZ];  if (checkfile_name[0] == '-' && checkfile_name[1] == '\0') {    have_read_stdin = 1;    checkfile_stream = stdin;  } else {    checkfile_stream = wfopen(checkfile_name, "r");    if (checkfile_stream == NULL)      return FALSE;    }  line_number = 0;  do {    char *filename;    unsigned char *md5num;    int line_length;    ++line_number;    fgets(line, BUFSIZ-1, checkfile_stream);    line_length = strlen(line);    if (line_length <= 0 || line==NULL)      break;    /* Ignore comment lines, which begin with a '#' character.  */    if (line[0] == '#')      continue;    /* Remove any trailing newline.  */    if (line[line_length - 1] == '\n')      line[--line_length] = '\0';    if (split_3(line, line_length, &md5num, &filename)        || !hex_digits(md5num)) {      if (warn) {        error_msg("%s: %lu: improperly formatted MD5 checksum line",                 checkfile_name, (unsigned long) line_number);      }    } else {      static const char bin2hex[] = {        '0', '1', '2', '3',        '4', '5', '6', '7',        '8', '9', 'a', 'b',        'c', 'd', 'e', 'f'      };      ++n_properly_formated_lines;      if (md5_file(filename, md5buffer)) {        ++n_open_or_read_failures;        if (!status_only) {          printf("%s: FAILED open or read\n", filename);          fflush(stdout);        }      } else {        size_t cnt;        /* Compare generated binary number with text representation           in check file.  Ignore case of hex digits.  */        for (cnt = 0; cnt < 16; ++cnt) {          if (tolower(md5num[2 * cnt])              != bin2hex[md5buffer[cnt] >> 4]              || (tolower(md5num[2 * cnt + 1])                  != (bin2hex[md5buffer[cnt] & 0xf])))            break;        }        if (cnt != 16)          ++n_mismatched_checksums;        if (!status_only) {          printf("%s: %s\n", filename,                 (cnt != 16 ? "FAILED" : "OK"));          fflush(stdout);        }      }    }  }  while (!feof(checkfile_stream) && !ferror(checkfile_stream));  if (ferror(checkfile_stream)) {    error_msg("%s: read error", checkfile_name);    return FALSE;  }  if (checkfile_stream != stdin && fclose(checkfile_stream) == EOF) {    perror_msg("md5sum: %s", checkfile_name);    return FALSE;  }  if (n_properly_formated_lines == 0) {    /* Warn if no tests are found.  */    error_msg("%s: no properly formatted MD5 checksum lines found",             checkfile_name);    return FALSE;  } else {    if (!status_only) {      int n_computed_checkums = (n_properly_formated_lines                                 - n_open_or_read_failures);      if (n_open_or_read_failures > 0) {        error_msg("WARNING: %d of %d listed files could not be read",                 n_open_or_read_failures, n_properly_formated_lines);        return FALSE;      }      if (n_mismatched_checksums > 0) {        error_msg("WARNING: %d of %d computed checksums did NOT match",                 n_mismatched_checksums, n_computed_checkums);        return FALSE;      }    }  }  return ((n_properly_formated_lines > 0 && n_mismatched_checksums == 0           && n_open_or_read_failures == 0) ? 0 : 1);}int md5sum_main(int argc,                char **argv){  unsigned char md5buffer[16];  int do_check = 0;  int opt;  char **string = NULL;  size_t n_strings = 0;  size_t err = 0;  char file_type_specified = 0;  char binary = 0;  while ((opt = getopt(argc, argv, "g:bcstw")) != -1) {    switch (opt) {     case 'g': { /* read a string */       if (string == NULL)         string = (char **) xmalloc ((argc - 1) * sizeof (char *));       string[n_strings++] = optarg;       break;     }     case 'b': /* read files in binary mode */      file_type_specified = 1;      binary = 1;      break;     case 'c': /* check MD5 sums against given list */      do_check = 1;      break;     case 's':  /* don't output anything, status code shows success */      status_only = 1;      warn = 0;      break;     case 't': /* read files in text mode (default) */      file_type_specified = 1;      binary = 0;      break;     case 'w': /* warn about improperly formated MD5 checksum lines */      status_only = 0;      warn = 1;      break;     default:      show_usage();    }  }  if (file_type_specified && do_check) {    error_msg_and_die("the -b and -t options are meaningless when verifying checksums");  }  if (n_strings > 0 && do_check) {    error_msg_and_die("the -g and -c options are mutually exclusive");  }  if (status_only && !do_check) {    error_msg_and_die("the -s option is meaningful only when verifying checksums");  }  if (warn && !do_check) {    error_msg_and_die("the -w option is meaningful only when verifying checksums");  }  if (n_strings > 0) {    size_t i;    if (optind < argc) {      error_msg_and_die("no files may be specified when using -g");    }    for (i = 0; i < n_strings; ++i) {      size_t cnt;      md5_buffer (string[i], strlen (string[i]), md5buffer);      for (cnt = 0; cnt < 16; ++cnt)        printf ("%02x", md5buffer[cnt]);      printf ("  \"%s\"\n", string[i]);    }  } else if (do_check) {    if (optind + 1 < argc) {      error_msg("only one argument may be specified when using -c");    }    err = md5_check ((optind == argc) ? "-" : argv[optind]);  } else {    if (optind == argc)      argv[argc++] = "-";    for (; optind < argc; ++optind) {      int fail;      char *file = argv[optind];      fail = md5_file (file, md5buffer);      err |= fail;      if (!fail && file[0]=='-' && file[1] == '\0') {	  size_t i;	  for (i = 0; i < 16; ++i)	      printf ("%02x", md5buffer[i]);	  putchar ('\n');      } else if (!fail) {        size_t i;        /* Output a leading backslash if the file name contains           a newline or backslash.  */        if (strchr (file, '\n') || strchr (file, '\\'))          putchar ('\\');        for (i = 0; i < 16; ++i)          printf ("%02x", md5buffer[i]);        putchar (' ');        if (binary)          putchar ('*');        else          putchar (' ');        /* Translate each NEWLINE byte to the string, "\\n",           and each backslash to "\\\\".  */        for (i = 0; i < strlen (file); ++i) {          switch (file[i]) {           case '\n':            fputs ("\\n", stdout);            break;           case '\\':            fputs ("\\\\", stdout);            break;           default:            putchar (file[i]);            break;          }        }        putchar ('\n');      }    }  }  if (fclose (stdout) == EOF) {    error_msg_and_die("write error");  }  if (have_read_stdin && fclose (stdin) == EOF) {    error_msg_and_die("standard input");  }  if (err == 0)	  return EXIT_SUCCESS;  else	  return EXIT_FAILURE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级免费观看| 国产麻豆精品视频| 精品久久久久久久久久久久久久久| 亚洲电影欧美电影有声小说| 毛片一区二区三区| 日韩极品在线观看| 久久九九全国免费| 在线观看国产精品网站| 不卡大黄网站免费看| 99久久综合色| 日韩一级高清毛片| 欧美一区二区免费视频| 精品国产一区二区在线观看| 亚洲va国产va欧美va观看| 久久精品国产亚洲5555| 欧美日韩精品一区二区天天拍小说| 国产日本欧洲亚洲| 免费成人av资源网| 欧美亚洲综合在线| 久久久综合网站| 亚洲成人你懂的| 蜜臀av性久久久久av蜜臀妖精| 色88888久久久久久影院野外| 久久久蜜桃精品| 五月激情综合色| 91最新地址在线播放| 久久综合视频网| 风间由美一区二区三区在线观看| 日本久久一区二区| 欧美变态口味重另类| 国产在线视频一区二区| 99热精品国产| 亚洲精选免费视频| 色哟哟国产精品免费观看| 亚洲最新视频在线观看| 国产电影一区二区三区| 中文字幕欧美激情| 久久婷婷国产综合国色天香| 五月天丁香久久| 欧美精品一区二区三区在线 | 国产精品自拍av| 日韩av电影免费观看高清完整版在线观看 | 另类欧美日韩国产在线| 日韩精品色哟哟| 天堂av在线一区| 亚洲mv在线观看| 亚洲线精品一区二区三区八戒| 中文在线一区二区 | 91麻豆精品91久久久久同性| 91国产免费看| 欧美美女喷水视频| 欧美色成人综合| 成人免费视频网站在线观看| 粉嫩欧美一区二区三区高清影视| 精品一区二区三区的国产在线播放 | 日韩不卡一区二区| 日韩激情中文字幕| 精品一区二区三区免费观看| 久久精品国产77777蜜臀| 日本人妖一区二区| 国内精品久久久久影院色| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产欧美精品一区二区色综合朱莉| 久久蜜桃av一区精品变态类天堂 | 国产精品毛片高清在线完整版| 亚洲图片另类小说| 亚洲欧洲99久久| 精品国产一区a| 久久精品欧美一区二区三区不卡 | 日本欧美大码aⅴ在线播放| 偷窥国产亚洲免费视频| 日本中文字幕不卡| 粉嫩嫩av羞羞动漫久久久| 成人app网站| 在线91免费看| 26uuu欧美| 欧美激情艳妇裸体舞| 亚洲精品久久嫩草网站秘色| 亚洲超碰97人人做人人爱| 一区二区三区国产豹纹内裤在线| 亚洲一区二区欧美| 亚洲乱码精品一二三四区日韩在线| 五月天丁香久久| 国产一区三区三区| 欧洲生活片亚洲生活在线观看| 欧美日韩国产三级| 久久日韩精品一区二区五区| 亚洲免费视频中文字幕| 性欧美疯狂xxxxbbbb| 国产精品一卡二卡| 在线精品视频免费播放| 欧美一卡二卡三卡四卡| 国产精品午夜在线观看| 亚洲国产精品一区二区久久恐怖片 | 日av在线不卡| 不卡视频在线观看| 欧美日韩国产色站一区二区三区| 国产欧美一二三区| 一区二区三区在线高清| 久久精品久久精品| 色乱码一区二区三区88| 日韩一区二区免费在线电影| 国产精品免费人成网站| 日韩成人精品在线观看| 成人ar影院免费观看视频| 日韩欧美亚洲国产另类| 中文字幕的久久| 捆绑调教一区二区三区| 色av综合在线| 欧美精品一区二区在线播放| 日欧美一区二区| 99riav一区二区三区| 88在线观看91蜜桃国自产| 国产精品毛片a∨一区二区三区| 亚洲va欧美va人人爽| 色综合久久中文综合久久牛| 日韩免费观看2025年上映的电影 | 亚洲第一成年网| 不卡欧美aaaaa| 久久色成人在线| 美女被吸乳得到大胸91| av一区二区三区| 欧美国产1区2区| 久久99最新地址| 日韩精品专区在线| 偷拍日韩校园综合在线| 91视频观看视频| 国产精品女人毛片| 紧缚捆绑精品一区二区| 日韩欧美成人激情| 午夜精品久久久久久久久久| 欧美日韩亚洲综合在线| 国产精品久久777777| 极品少妇一区二区三区精品视频| 欧美一二三区在线| 日韩中文字幕av电影| 7777精品伊人久久久大香线蕉超级流畅 | 欧美zozo另类异族| 日韩国产在线观看| 91麻豆.com| 国产精品久久久久久久久久免费看 | 中文字幕在线不卡视频| 五月天激情综合网| 在线精品亚洲一区二区不卡| 欧美国产视频在线| 国产在线精品视频| 精品国产乱码久久久久久蜜臀| 精品影视av免费| 日韩一级片在线播放| 亚洲午夜激情av| 欧美色图天堂网| 亚洲一区二区四区蜜桃| 欧美日韩久久久一区| 亚洲国产综合色| 日韩欧美一级在线播放| 亚洲bt欧美bt精品| 欧美精品自拍偷拍| 日本成人在线网站| 日韩三级在线观看| 老色鬼精品视频在线观看播放| 91精品国产高清一区二区三区蜜臀| 丝袜美腿亚洲色图| 69p69国产精品| 麻豆极品一区二区三区| 精品电影一区二区三区 | 丝袜美腿亚洲色图| 91精品国产福利| 国产成人综合视频| 国产精品久久久久婷婷二区次| 色综合久久99| 亚洲午夜在线观看视频在线| 色婷婷国产精品| 午夜a成v人精品| 欧美成人精品高清在线播放| 国产69精品久久777的优势| 国产精品久久久久毛片软件| 不卡一区二区中文字幕| 亚洲精品国产视频| 欧美日韩一区二区三区视频 | 亚洲免费观看高清完整版在线观看 | 欧美日韩一区国产| 日韩1区2区日韩1区2区| 精品福利一二区| 在线观看亚洲一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品久久久久久久岛一牛影视| 91免费在线播放| 麻豆免费精品视频| 国产精品欧美一级免费| 欧美三级三级三级| 国产精品中文欧美| 国产喷白浆一区二区三区| 欧美军同video69gay| 国产美女娇喘av呻吟久久| 一级日本不卡的影视| 日韩欧美国产午夜精品| 欧美亚洲国产一区二区三区va| 久久精品99国产精品日本| 久久久午夜精品| 欧美久久久久久久久|