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

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

?? ar.c

?? 基于4個mips核的noc設計
?? C
?? 第 1 頁 / 共 3 頁
字號:
  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.	 (And yes, I know this is all unused, but somebody, someday,	 might wish to resurrect this again... -- 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      newfile = true;    }  ofile = fopen (archive_filename, FOPEN_AUB);  if (ofile == NULL)    {      perror (program_name);      xexit (1);    }  temp = bfd_openr (archive_filename, NULL);  if (temp == NULL)    {      bfd_fatal (archive_filename);    }  if (newfile == false)    {      if (bfd_check_format (temp, bfd_archive) != true)	/* xgettext:c-format */	fatal (_("%s is not an archive"), archive_filename);    }  else    {      fwrite (ARMAG, 1, SARMAG, ofile);      if (!silent_create)	/* xgettext:c-format */	non_fatal (_("creating %s"), archive_filename);    }  if (ar_truncate)    temp->flags |= BFD_TRADITIONAL_FORMAT;  /* assume it's an achive, go straight to the end, sans $200 */  fseek (ofile, 0, 2);  for (; files_to_append && *files_to_append; ++files_to_append)    {      struct ar_hdr *hdr = bfd_special_undocumented_glue (temp, *files_to_append);      if (hdr == NULL)	{	  bfd_fatal (*files_to_append);	}      BFD_SEND (temp, _bfd_truncate_arname, (temp, *files_to_append, (char *) hdr));      ifile = fopen (*files_to_append, FOPEN_RB);      if (ifile == NULL)	{	  bfd_nonfatal (*files_to_append);	}      if (stat (*files_to_append, &sbuf) != 0)	{	  bfd_nonfatal (*files_to_append);	}      tocopy = sbuf.st_size;      /* XXX should do error-checking! */      fwrite (hdr, 1, sizeof (struct ar_hdr), ofile);      while (tocopy > 0)	{	  thistime = tocopy;	  if (thistime > BUFSIZE)	    thistime = BUFSIZE;	  fread (buf, 1, thistime, ifile);	  fwrite (buf, 1, thistime, ofile);	  tocopy -= thistime;	}      fclose (ifile);      if ((sbuf.st_size % 2) == 1)	putc ('\012', ofile);    }  fclose (ofile);  bfd_close (temp);  free (buf);}#endif /* 0 */static voidwrite_archive (iarch)     bfd *iarch;{  bfd *obfd;  char *old_name, *new_name;  bfd *contents_head = iarch->next;  old_name = xmalloc (strlen (bfd_get_filename (iarch)) + 1);  strcpy (old_name, bfd_get_filename (iarch));  new_name = make_tempname (old_name);  output_filename = new_name;  obfd = bfd_openw (new_name, bfd_get_target (iarch));  if (obfd == NULL)    bfd_fatal (old_name);  output_bfd = obfd;  bfd_set_format (obfd, bfd_archive);  /* Request writing the archive symbol table unless we've     been explicitly requested not to.  */  obfd->has_armap = write_armap >= 0;  if (ar_truncate)    {      /* This should really use bfd_set_file_flags, but that rejects         archives.  */      obfd->flags |= BFD_TRADITIONAL_FORMAT;    }  if (bfd_set_archive_head (obfd, contents_head) != true)    bfd_fatal (old_name);  if (!bfd_close (obfd))    bfd_fatal (old_name);  output_bfd = NULL;  output_filename = NULL;  /* We don't care if this fails; we might be creating the archive.  */  bfd_close (iarch);  if (smart_rename (new_name, old_name, 0) != 0)    xexit (1);}/* Return a pointer to the pointer to the entry which should be rplacd'd   into when altering.  DEFAULT_POS should be how to interpret pos_default,   and should be a pos value.  */static bfd **get_pos_bfd (contents, default_pos, default_posname)     bfd **contents;     enum pos default_pos;     const char *default_posname;{  bfd **after_bfd = contents;  enum pos realpos;  const char *realposname;  if (postype == pos_default)    {      realpos = default_pos;      realposname = default_posname;    }  else    {      realpos = postype;      realposname = posname;    }  if (realpos == pos_end)    {      while (*after_bfd)	after_bfd = &((*after_bfd)->next);    }  else    {      for (; *after_bfd; after_bfd = &(*after_bfd)->next)	if (FILENAME_CMP ((*after_bfd)->filename, realposname) == 0)	  {	    if (realpos == pos_after)	      after_bfd = &(*after_bfd)->next;	    break;	  }    }  return after_bfd;}static voiddelete_members (arch, files_to_delete)     bfd *arch;     char **files_to_delete;{  bfd **current_ptr_ptr;  boolean found;  boolean something_changed = false;  int match_count;  for (; *files_to_delete != NULL; ++files_to_delete)    {      /* In a.out systems, the armap is optional.  It's also called	 __.SYMDEF.  So if the user asked to delete it, we should remember	 that fact. This isn't quite right for COFF systems (where	 __.SYMDEF might be regular member), but it's very unlikely	 to be a problem.  FIXME */      if (!strcmp (*files_to_delete, "__.SYMDEF"))	{	  arch->has_armap = false;	  write_armap = -1;	  continue;	}      found = false;      match_count = 0;      current_ptr_ptr = &(arch->next);      while (*current_ptr_ptr)	{	  if (FILENAME_CMP (normalize (*files_to_delete, arch),		      (*current_ptr_ptr)->filename) == 0)	    {	      ++match_count;	      if (counted_name_mode		  && match_count != counted_name_counter) 		{		  /* Counting, and didn't match on count; go on to the                     next one.  */		}	      else		{		  found = true;		  something_changed = true;		  if (verbose)		    printf ("d - %s\n",			    *files_to_delete);		  *current_ptr_ptr = ((*current_ptr_ptr)->next);		  goto next_file;		}	    }	  current_ptr_ptr = &((*current_ptr_ptr)->next);	}      if (verbose && found == false)	{	  /* xgettext:c-format */	  printf (_("No member named `%s'\n"), *files_to_delete);	}    next_file:      ;    }  if (something_changed == true)    write_archive (arch);  else    output_filename = NULL;}/* Reposition existing members within an archive */static voidmove_members (arch, files_to_move)     bfd *arch;     char **files_to_move;{  bfd **after_bfd;		/* New entries go after this one */  bfd **current_ptr_ptr;	/* cdr pointer into contents */  for (; *files_to_move; ++files_to_move)    {      current_ptr_ptr = &(arch->next);      while (*current_ptr_ptr)	{	  bfd *current_ptr = *current_ptr_ptr;	  if (FILENAME_CMP (normalize (*files_to_move, arch),			    current_ptr->filename) == 0)	    {	      /* Move this file to the end of the list - first cut from		 where it is.  */	      bfd *link;	      *current_ptr_ptr = current_ptr->next;	      /* Now glue to end */	      after_bfd = get_pos_bfd (&arch->next, pos_end, NULL);	      link = *after_bfd;	      *after_bfd = current_ptr;	      current_ptr->next = link;	      if (verbose)		printf ("m - %s\n", *files_to_move);	      goto next_file;	    }	  current_ptr_ptr = &((*current_ptr_ptr)->next);	}      /* xgettext:c-format */      fatal (_("no entry %s in archive %s!"), *files_to_move, arch->filename);    next_file:;    }  write_archive (arch);}/* Ought to default to replacing in place, but this is existing practice!  */static voidreplace_members (arch, files_to_move, quick)     bfd *arch;     char **files_to_move;     boolean quick;{  boolean changed = false;  bfd **after_bfd;		/* New entries go after this one */  bfd *current;  bfd **current_ptr;  bfd *temp;  while (files_to_move && *files_to_move)    {      if (! quick)	{	  current_ptr = &arch->next;	  while (*current_ptr)	    {	      current = *current_ptr;	      /* For compatibility with existing ar programs, we		 permit the same file to be added multiple times.  */	      if (FILENAME_CMP (normalize (*files_to_move, arch),				normalize (current->filename, arch)) == 0		  && current->arelt_data != NULL)		{		  if (newer_only)		    {		      struct stat fsbuf, asbuf;		      if (stat (*files_to_move, &fsbuf) != 0)			{			  if (errno != ENOENT)			    bfd_fatal (*files_to_move);			  goto next_file;			}		      if (bfd_stat_arch_elt (current, &asbuf) != 0)			/* xgettext:c-format */			fatal (_("internal stat error on %s"), current->filename);		      if (fsbuf.st_mtime <= asbuf.st_mtime)			goto next_file;		    }		  after_bfd = get_pos_bfd (&arch->next, pos_after,					   current->filename);		  temp = *after_bfd;		  *after_bfd = bfd_openr (*files_to_move, NULL);		  if (*after_bfd == (bfd *) NULL)		    {		      bfd_fatal (*files_to_move);		    }		  (*after_bfd)->next = temp;		  /* snip out this entry from the chain */		  *current_ptr = (*current_ptr)->next;		  if (verbose)		    {		      printf ("r - %s\n", *files_to_move);		    }		  changed = true;		  goto next_file;		}	      current_ptr = &(current->next);	    }	}      /* Add to the end of the archive.  */      after_bfd = get_pos_bfd (&arch->next, pos_end, NULL);      temp = *after_bfd;      *after_bfd = bfd_openr (*files_to_move, NULL);      if (*after_bfd == (bfd *) NULL)	{	  bfd_fatal (*files_to_move);	}      if (verbose)	{	  printf ("a - %s\n", *files_to_move);	}      (*after_bfd)->next = temp;      changed = true;    next_file:;      files_to_move++;    }  if (changed)    write_archive (arch);  else    output_filename = NULL;}static voidranlib_only (archname)     const char *archname;{  bfd *arch;  write_armap = 1;  arch = open_inarch (archname, (char *) NULL);  if (arch == NULL)    xexit (1);  write_archive (arch);}/* Update the timestamp of the symbol map of an archive.  */static voidranlib_touch (archname)     const char *archname;{#ifdef __GO32__  /* I don't think updating works on go32.  */  ranlib_only (archname);#else  int f;  bfd *arch;  char **matching;  f = open (archname, O_RDWR | O_BINARY, 0);  if (f < 0)    {      bfd_set_error (bfd_error_system_call);      bfd_fatal (archname);    }  arch = bfd_fdopenr (archname, (const char *) NULL, f);  if (arch == NULL)    bfd_fatal (archname);  if (! bfd_check_format_matches (arch, bfd_archive, &matching))    {      bfd_nonfatal (archname);      if (bfd_get_error () == bfd_error_file_ambiguously_recognized)	{	  list_matching_formats (matching);	  free (matching);	}      xexit (1);    }  if (! bfd_has_map (arch))    /* xgettext:c-format */    fatal (_("%s: no archive map to update"), archname);  bfd_update_armap_timestamp (arch);  if (! bfd_close (arch))    bfd_fatal (archname);#endif}/* Things which are interesting to map over all or some of the files: */static voidprint_descr (abfd)     bfd *abfd;{  print_arelt_descr (stdout, abfd, verbose);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区中文字幕| 久久精品久久综合| 久久综合九色综合欧美98| 欧美日韩一区二区三区视频| 色综合视频在线观看| av中文字幕不卡| 成人黄色软件下载| 成人av在线播放网站| 99精品在线免费| 欧美性色综合网| 这里只有精品免费| 欧美一区二区免费视频| 精品国产99国产精品| 欧美激情一区二区三区| 国产精品夫妻自拍| 亚洲一区二区三区小说| 婷婷丁香激情综合| 麻豆91在线看| 成人免费黄色大片| 日本大香伊一区二区三区| 欧美日韩一区精品| 制服.丝袜.亚洲.中文.综合| 久久综合国产精品| 1区2区3区国产精品| 亚洲成人在线观看视频| 久久精品99久久久| 成人av先锋影音| 欧美情侣在线播放| 欧美激情综合网| 香蕉乱码成人久久天堂爱免费| 蜜桃在线一区二区三区| 成人av在线影院| 9191成人精品久久| 国产精品日产欧美久久久久| 亚洲在线免费播放| 精品中文字幕一区二区小辣椒| 高清在线观看日韩| 欧美日韩五月天| 国产精品亲子伦对白| 亚洲韩国一区二区三区| 国产成人福利片| 欧美军同video69gay| 国产精品婷婷午夜在线观看| 亚洲一卡二卡三卡四卡五卡| 国产精品一区二区无线| 欧美亚一区二区| 国产欧美日韩激情| 日本成人在线电影网| k8久久久一区二区三区| 精品成人一区二区三区四区| 亚洲成年人网站在线观看| 91在线观看美女| 国产亚洲综合色| 秋霞电影网一区二区| 在线视频观看一区| 国产视频一区不卡| 久久精品av麻豆的观看方式| 精品视频色一区| 亚洲日本一区二区三区| 国产高清亚洲一区| 精品国产乱码久久久久久老虎| 亚洲国产精品久久艾草纯爱| 成年人国产精品| 久久久亚洲精品石原莉奈| 久久精品国产秦先生| 欧美一区二区三区视频在线观看| 一区二区久久久| 一本色道久久综合亚洲91| 国产精品视频yy9299一区| 国产精品1024| 国产日本欧美一区二区| 国模套图日韩精品一区二区| 欧美一区二区三区四区在线观看| 天天综合网 天天综合色| 欧美在线色视频| 亚洲成人av福利| 欧美福利一区二区| 久久国产尿小便嘘嘘| 欧美精品777| 毛片一区二区三区| 日韩欧美综合在线| 狠狠色丁香久久婷婷综| 精品国产乱码久久久久久免费| 久久成人羞羞网站| 久久久亚洲高清| 国产精品亚洲成人| 国产精品国产三级国产普通话99| av在线一区二区三区| 一区二区三区在线免费播放| 欧美色国产精品| 美女久久久精品| 国产色产综合产在线视频| 99精品视频一区| 亚洲福中文字幕伊人影院| 日韩一区二区三区视频在线| 男男gaygay亚洲| 久久综合色播五月| aaa国产一区| 一区二区三区视频在线观看| 欧美精品vⅰdeose4hd| 国产最新精品精品你懂的| 亚洲色欲色欲www| 欧美精品第1页| 粉嫩av一区二区三区粉嫩| 亚洲伊人伊色伊影伊综合网| 欧美成人高清电影在线| av色综合久久天堂av综合| 午夜精品一区二区三区电影天堂 | 高清国产一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 麻豆一区二区99久久久久| 国产日韩欧美在线一区| 欧美影院精品一区| 韩国精品主播一区二区在线观看| 国产精品久线在线观看| 8v天堂国产在线一区二区| 国产成人在线免费| 午夜a成v人精品| 国产精品久久久久久妇女6080| 欧美日韩成人高清| 99久久精品一区| 久久精品久久久精品美女| 亚洲免费av观看| 国产三级精品三级| 91精品国产91综合久久蜜臀| 99re视频这里只有精品| 国产乱码精品一区二区三区av| 亚洲午夜羞羞片| 中文字幕亚洲成人| 久久久久久久久久久久久夜| 欧美精品第1页| 在线观看亚洲精品视频| 懂色一区二区三区免费观看| 麻豆精品在线播放| 亚洲第四色夜色| 亚洲视频一区二区在线观看| 久久久久久久国产精品影院| 9191久久久久久久久久久| 欧美午夜在线观看| 91麻豆免费在线观看| 成人成人成人在线视频| 激情综合网最新| 蜜臀va亚洲va欧美va天堂 | 国产精品美女久久久久久久久| 日韩视频一区二区| 91精品国产欧美日韩| 欧美久久免费观看| 欧美日韩一卡二卡| 欧美日韩国产精品自在自线| 欧美三级日韩在线| 欧美日韩视频在线第一区| 欧美性大战xxxxx久久久| 欧美亚洲免费在线一区| 欧美日韩中文国产| 欧美一级高清片| 日韩欧美的一区| 久久综合久久久久88| 久久久久97国产精华液好用吗| 国产午夜精品在线观看| 国产视频在线观看一区二区三区 | 一区二区三区 在线观看视频| 亚洲欧洲精品一区二区三区不卡 | 美女视频网站黄色亚洲| 久久成人免费电影| 国产精品自拍毛片| 91在线高清观看| 欧美性受xxxx| 精品蜜桃在线看| 国产无人区一区二区三区| 亚洲色图欧洲色图婷婷| 亚洲成人av电影在线| 激情成人午夜视频| 成人免费av资源| 欧美日韩精品一区视频| 欧美一级精品在线| 中文字幕一区在线观看视频| 亚洲精品高清视频在线观看| 青娱乐精品在线视频| 国产宾馆实践打屁股91| 91精品91久久久中77777| 欧美一区二区三区四区视频| 欧美极品另类videosde| 夜夜嗨av一区二区三区网页 | aaa欧美大片| 欧美精品日日鲁夜夜添| 精品999在线播放| 亚洲色图在线播放| 美美哒免费高清在线观看视频一区二区| 国产乱淫av一区二区三区 | 日韩国产欧美在线视频| 国产精品一卡二卡在线观看| 日本道色综合久久| 久久精品亚洲精品国产欧美kt∨| 亚洲资源在线观看| 成人小视频在线| 欧美成人伊人久久综合网| 亚洲乱码国产乱码精品精小说| 激情小说亚洲一区| 欧美美女一区二区| 国产精品美女一区二区三区|