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

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

?? ar.c

?? 基于4個mips核的noc設計
?? C
?? 第 1 頁 / 共 3 頁
字號:
    ++arg_ptr;			/* compatibility */  while ((c = *arg_ptr++) != '\0')    {      switch (c)	{	case 'd':	case 'm':	case 'p':	case 'q':	case 'r':	case 't':	case 'x':	  if (operation != none)	    fatal (_("two different operation options specified"));	  switch (c)	    {	    case 'd':	      operation = delete;	      operation_alters_arch = true;	      break;	    case 'm':	      operation = move;	      operation_alters_arch = true;	      break;	    case 'p':	      operation = print_files;	      break;	    case 'q':	      operation = quick_append;	      operation_alters_arch = true;	      break;	    case 'r':	      operation = replace;	      operation_alters_arch = true;	      break;	    case 't':	      operation = print_table;	      break;	    case 'x':	      operation = extract;	      break;	    }	case 'l':	  break;	case 'c':	  silent_create = 1;	  break;	case 'o':	  preserve_dates = 1;	  break;	case 'V':	  show_version = true;	  break;	case 's':	  write_armap = 1;	  break;	case 'S':	  write_armap = -1;	  break;	case 'u':	  newer_only = 1;	  break;	case 'v':	  verbose = 1;	  break;	case 'a':	  postype = pos_after;	  break;	case 'b':	  postype = pos_before;	  break;	case 'i':	  postype = pos_before;	  break;	case 'M':	  mri_mode = 1;	  break;	case 'N':	  counted_name_mode = true;	  break;	case 'f':	  ar_truncate = true;	  break;	case 'P':	  full_pathname = true;	  break;	default:	  /* xgettext:c-format */	  non_fatal (_("illegal option -- %c"), c);	  usage (0);	}    }  if (show_version)    print_version ("ar");  if (argc < 3)    usage (0);  if (mri_mode)    {      mri_emul ();    }  else    {      bfd *arch;      /* We can't write an armap when using ar q, so just do ar r         instead.  */      if (operation == quick_append && write_armap)	operation = replace;      if ((operation == none || operation == print_table)	  && write_armap == 1)	{	  ranlib_only (argv[2]);	  xexit (0);	}      if (operation == none)	fatal (_("no operation specified"));      if (newer_only && operation != replace)	fatal (_("`u' is only meaningful with the `r' option."));      arg_index = 2;      if (postype != pos_default)	posname = argv[arg_index++];      if (counted_name_mode) 	{          if (operation != extract && operation != delete) 	     fatal (_("`N' is only meaningful with the `x' and `d' options."));	  counted_name_counter = atoi (argv[arg_index++]);          if (counted_name_counter <= 0)	    fatal (_("Value for `N' must be positive."));	}      inarch_filename = argv[arg_index++];      files = arg_index < argc ? argv + arg_index : NULL;      file_count = argc - arg_index;#if 0      /* We don't use do_quick_append any more.  Too many systems         expect ar to always rebuild the symbol table even when q is         used.  */      /* We can't do a quick append if we need to construct an	 extended name table, because do_quick_append won't be able to	 rebuild the name table.  Unfortunately, at this point we	 don't actually know the maximum name length permitted by this	 object file format.  So, we guess.  FIXME.  */      if (operation == quick_append && ! ar_truncate)	{	  char **chk;	  for (chk = files; chk != NULL && *chk != '\0'; chk++)	    {	      if (strlen (normalize (*chk, (bfd *) NULL)) > 14)		{		  operation = replace;		  break;		}	    }	}      if (operation == quick_append)	{	  /* Note that quick appending to a non-existent archive creates it,	     even if there are no files to append. */	  do_quick_append (inarch_filename, files);	  xexit (0);	}#endif      arch = open_inarch (inarch_filename,			  files == NULL ? (char *) NULL : files[0]);      switch (operation)	{	case print_table:	  map_over_members (arch, print_descr, files, file_count);	  break;	case print_files:	  map_over_members (arch, print_contents, files, file_count);	  break;	case extract:	  map_over_members (arch, extract_file, files, file_count);	  break;	case delete:	  if (files != NULL)	    delete_members (arch, files);	  else	    output_filename = NULL;	  break;	case move:	  if (files != NULL)	    move_members (arch, files);	  else	    output_filename = NULL;	  break;	case replace:	case quick_append:	  if (files != NULL || write_armap > 0)	    replace_members (arch, files, operation == quick_append);	  else	    output_filename = NULL;	  break;	  /* Shouldn't happen! */	default:	  /* xgettext:c-format */	  fatal (_("internal error -- this option not implemented"));	}    }  END_PROGRESS (program_name);  xexit (0);  return 0;}bfd *open_inarch (archive_filename, file)     const char *archive_filename;     const char *file;{  const char *target;  bfd **last_one;  bfd *next_one;  struct stat sbuf;  bfd *arch;  char **matching;  bfd_set_error (bfd_error_no_error);  target = NULL;  if (stat (archive_filename, &sbuf) != 0)    {#if !defined(__GO32__) || defined(__DJGPP__)      /* FIXME: I don't understand why this fragment was ifndef'ed	 away for __GO32__; perhaps it was in the days of DJGPP v1.x.	 stat() works just fine in v2.x, so I think this should be	 removed.  For now, I enable it for DJGPP v2. -- EZ.  *//* KLUDGE ALERT! Temporary fix until I figger why   stat() is wrong ... think it's buried in GO32's IDT - Jax */      if (errno != ENOENT)	bfd_fatal (archive_filename);#endif      if (!operation_alters_arch)	{	  fprintf (stderr, "%s: ", program_name);	  perror (archive_filename);	  maybequit ();	  return NULL;	}      /* Try to figure out the target to use for the archive from the         first object on the list.  */      if (file != NULL)	{	  bfd *obj;	  obj = bfd_openr (file, NULL);	  if (obj != NULL)	    {	      if (bfd_check_format (obj, bfd_object))		target = bfd_get_target (obj);	      (void) bfd_close (obj);	    }	}      /* Create an empty archive.  */      arch = bfd_openw (archive_filename, target);      if (arch == NULL	  || ! bfd_set_format (arch, bfd_archive)	  || ! bfd_close (arch))	bfd_fatal (archive_filename);      /* If we die creating a new archive, don't leave it around.  */      output_filename = archive_filename;    }  arch = bfd_openr (archive_filename, target);  if (arch == NULL)    {    bloser:      bfd_fatal (archive_filename);    }  if (! bfd_check_format_matches (arch, bfd_archive, &matching))    {      bfd_nonfatal (archive_filename);      if (bfd_get_error () == bfd_error_file_ambiguously_recognized)	{	  list_matching_formats (matching);	  free (matching);	}      xexit (1);    }  last_one = &(arch->next);  /* Read all the contents right away, regardless.  */  for (next_one = bfd_openr_next_archived_file (arch, NULL);       next_one;       next_one = bfd_openr_next_archived_file (arch, next_one))    {      PROGRESS (1);      *last_one = next_one;      last_one = &next_one->next;    }  *last_one = (bfd *) NULL;  if (bfd_get_error () != bfd_error_no_more_archived_files)    goto bloser;  return arch;}static voidprint_contents (abfd)     bfd *abfd;{  int ncopied = 0;  char *cbuf = xmalloc (BUFSIZE);  struct stat buf;  long size;  if (bfd_stat_arch_elt (abfd, &buf) != 0)    /* xgettext:c-format */    fatal (_("internal stat error on %s"), bfd_get_filename (abfd));  if (verbose)    /* xgettext:c-format */    printf (_("\n<member %s>\n\n"), bfd_get_filename (abfd));  bfd_seek (abfd, 0, SEEK_SET);  size = buf.st_size;  while (ncopied < size)    {      int nread;      int tocopy = size - ncopied;      if (tocopy > BUFSIZE)	tocopy = BUFSIZE;      nread = bfd_read (cbuf, 1, tocopy, abfd);	/* oops -- broke							   abstraction!  */      if (nread != tocopy)	/* xgettext:c-format */	fatal (_("%s is not a valid archive"),	       bfd_get_filename (bfd_my_archive (abfd)));      fwrite (cbuf, 1, nread, stdout);      ncopied += tocopy;    }  free (cbuf);}/* Extract a member of the archive into its own file.   We defer opening the new file until after we have read a BUFSIZ chunk of the   old one, since we know we have just read the archive header for the old   one.  Since most members are shorter than BUFSIZ, this means we will read   the old header, read the old data, write a new inode for the new file, and   write the new data, and be done. This 'optimization' is what comes from   sitting next to a bare disk and hearing it every time it seeks.  -- Gnu   Gilmore  */voidextract_file (abfd)     bfd *abfd;{  FILE *ostream;  char *cbuf = xmalloc (BUFSIZE);  int nread, tocopy;  long ncopied = 0;  long size;  struct stat buf;    if (bfd_stat_arch_elt (abfd, &buf) != 0)    /* xgettext:c-format */    fatal (_("internal stat error on %s"), bfd_get_filename (abfd));  size = buf.st_size;  if (size < 0)    /* xgettext:c-format */    fatal (_("stat returns negative size for %s"), bfd_get_filename (abfd));    if (verbose)    printf ("x - %s\n", bfd_get_filename (abfd));  bfd_seek (abfd, 0, SEEK_SET);  ostream = NULL;  if (size == 0)    {      /* Seems like an abstraction violation, eh?  Well it's OK! */      output_filename = bfd_get_filename (abfd);      ostream = fopen (bfd_get_filename (abfd), FOPEN_WB);      if (ostream == NULL)	{	  perror (bfd_get_filename (abfd));	  xexit (1);	}      output_file = ostream;    }  else    while (ncopied < size)      {	tocopy = size - ncopied;	if (tocopy > BUFSIZE)	  tocopy = BUFSIZE;	nread = bfd_read (cbuf, 1, tocopy, abfd);	if (nread != tocopy)	  /* xgettext:c-format */	  fatal (_("%s is not a valid archive"),		 bfd_get_filename (bfd_my_archive (abfd)));	/* See comment above; this saves disk arm motion */	if (ostream == NULL)	  {	    /* Seems like an abstraction violation, eh?  Well it's OK! */	    output_filename = bfd_get_filename (abfd);	    ostream = fopen (bfd_get_filename (abfd), FOPEN_WB);	    if (ostream == NULL)	      {		perror (bfd_get_filename (abfd));		xexit (1);	      }	    output_file = ostream;	  }	fwrite (cbuf, 1, nread, ostream);	ncopied += tocopy;      }  if (ostream != NULL)    fclose (ostream);  output_file = NULL;  output_filename = NULL;  chmod (bfd_get_filename (abfd), buf.st_mode);  if (preserve_dates)    set_times (bfd_get_filename (abfd), &buf);  free (cbuf);}#if 0/* We don't use this anymore.  Too many systems expect ar to rebuild   the symbol table even when q is used.  *//* Just do it quickly; don't worry about dups, armap, or anything like that */static voiddo_quick_append (archive_filename, files_to_append)     const char *archive_filename;     char **files_to_append;{  FILE *ofile, *ifile;  char *buf = xmalloc (BUFSIZE);  long tocopy, thistime;  bfd *temp;  struct stat sbuf;  boolean newfile = false;  bfd_set_error (bfd_error_no_error);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产中文字幕| 欧美性受xxxx黑人xyx性爽| 91色综合久久久久婷婷| 欧美精品v国产精品v日韩精品 | 麻豆一区二区99久久久久| 粉嫩欧美一区二区三区高清影视| 欧美精三区欧美精三区| 日韩伦理电影网| 国产精品一区二区你懂的| 宅男在线国产精品| 亚洲一区二区不卡免费| 成人性色生活片| 久久久www成人免费无遮挡大片| 天天综合色天天| 欧美性猛片xxxx免费看久爱| 亚洲欧洲日产国产综合网| 国产美女在线观看一区| 欧美不卡激情三级在线观看| 秋霞影院一区二区| 欧美日韩国产天堂| 一区二区在线观看免费| 91美女片黄在线观看| 国产精品天干天干在观线| 国产一区二区免费视频| 精品久久人人做人人爽| 免费观看30秒视频久久| 91精品国产综合久久婷婷香蕉| 亚洲日本在线a| 91美女福利视频| 亚洲美女一区二区三区| 一本大道久久a久久综合婷婷 | 精品va天堂亚洲国产| 日产国产欧美视频一区精品| 欧美久久久一区| 免费在线观看成人| 日韩精品中午字幕| 久热成人在线视频| 欧美一区二区三区影视| 日韩激情一区二区| 日韩一区二区三区在线观看| 奇米一区二区三区| 欧美精品一区二区三区四区| 极品少妇一区二区| 国产欧美日韩一区二区三区在线观看 | 欧美日韩综合一区| 午夜a成v人精品| 欧美一级xxx| 麻豆精品久久久| 国产丝袜欧美中文另类| 成人午夜在线免费| 亚洲激情网站免费观看| 欧美老人xxxx18| 精品一区二区免费视频| 国产欧美精品一区aⅴ影院| av在线不卡免费看| 亚洲国产美女搞黄色| 日韩视频123| 成人午夜大片免费观看| 亚洲一卡二卡三卡四卡| 日韩午夜在线播放| 成人精品国产免费网站| 亚洲成人在线网站| 久久久精品免费网站| 一本色道久久综合亚洲精品按摩| 午夜视频一区二区三区| 精品av综合导航| 26uuu国产一区二区三区| 国产精品一卡二卡在线观看| 亚洲欧美另类久久久精品| 日韩一级免费一区| 99精品视频在线免费观看| 日本不卡在线视频| 国产精品久久久久久久久久免费看| 在线精品国精品国产尤物884a| 狠狠色丁香婷婷综合久久片| 亚洲免费资源在线播放| 337p日本欧洲亚洲大胆精品| 91精彩视频在线观看| 国产精品一区二区久激情瑜伽| 亚洲另类色综合网站| 久久久欧美精品sm网站| 欧美美女网站色| 91久色porny | 亚洲三级免费观看| 久久久一区二区三区捆绑**| 欧美美女网站色| 91网站黄www| 粉嫩嫩av羞羞动漫久久久 | 成人综合在线网站| 日本女人一区二区三区| 亚洲精品成人a在线观看| 国产欧美综合在线| 精品少妇一区二区三区 | 国产精品国产精品国产专区不片| 欧美高清视频一二三区| 色拍拍在线精品视频8848| 成人永久aaa| 国产激情视频一区二区在线观看 | jizzjizzjizz欧美| 国产999精品久久久久久绿帽| 蜜臀av一区二区三区| 婷婷六月综合亚洲| 亚洲香蕉伊在人在线观| 国产精品视频第一区| 国产午夜亚洲精品理论片色戒| 欧美电视剧在线看免费| 欧美日韩中文字幕一区| 欧美亚洲禁片免费| 欧美日韩在线播放三区| 欧美三级电影精品| 欧美久久久一区| 欧美在线啊v一区| 欧美在线影院一区二区| 色视频欧美一区二区三区| 色婷婷综合久久久中文一区二区| 99国内精品久久| 99re视频精品| 色婷婷av一区二区三区大白胸| 一本久久a久久精品亚洲| 欧美综合在线视频| 欧美另类久久久品| 欧美电影免费观看完整版| 久久久九九九九| 中文字幕在线一区| 亚洲精品午夜久久久| 肉肉av福利一精品导航| 日韩精品成人一区二区在线| 日本不卡一二三区黄网| 极品少妇一区二区| 成人精品国产一区二区4080| 一本大道av一区二区在线播放| 欧美撒尿777hd撒尿| 日韩欧美一卡二卡| 国产精品天干天干在观线 | 久久久精品中文字幕麻豆发布| 久久久不卡影院| 亚洲日本va午夜在线电影| 午夜影院在线观看欧美| 青椒成人免费视频| 成人在线综合网站| 在线免费观看视频一区| 3d动漫精品啪啪一区二区竹菊| 欧美精品一区二区三区蜜臀 | 色综合天天天天做夜夜夜夜做| 欧美午夜寂寞影院| www成人在线观看| 国产精品国产三级国产aⅴ入口 | 亚洲黄一区二区三区| 日韩精品色哟哟| 不卡的av网站| 91精品国产入口在线| 中文在线免费一区三区高中清不卡| 一区二区三区中文免费| 激情小说亚洲一区| 色久综合一二码| 久久综合九色综合欧美就去吻| 综合av第一页| 国内精品国产三级国产a久久| 成人精品一区二区三区中文字幕| 欧美在线免费观看视频| 国产精品视频一二| 麻豆国产精品视频| 在线观看免费视频综合| 国产亚洲午夜高清国产拍精品| 一区二区三区免费网站| 国产高清一区日本| 欧美高清dvd| 一区二区三区高清在线| 成人av在线观| 国产亚洲女人久久久久毛片| 亚洲va在线va天堂| 色天天综合久久久久综合片| 国产亚洲精品bt天堂精选| 日本不卡一区二区| 欧美日韩三级在线| 成人免费一区二区三区视频 | 色狠狠av一区二区三区| 欧美精品一区二区三区高清aⅴ| 亚洲国产日韩a在线播放性色| www.欧美日韩国产在线| 久久天堂av综合合色蜜桃网| 日韩在线卡一卡二| 欧美色网站导航| 亚洲一区在线观看视频| 99久久免费精品高清特色大片| 精品国精品自拍自在线| 美女一区二区三区| 日韩欧美的一区| 日韩精品乱码av一区二区| 欧美日韩在线综合| 亚洲福利视频导航| 91福利区一区二区三区| 综合自拍亚洲综合图不卡区| 国产91丝袜在线观看| 国产色综合一区| 懂色av一区二区在线播放| 日本一区二区免费在线观看视频| 国产高清成人在线| 日本一二三不卡| 成人免费视频一区|