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

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

?? pngmem.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
            ptr = NULL;            png_ptr->offset_table_count_free++;            break;         }      }      if (png_ptr->offset_table_count_free == png_ptr->offset_table_count)      {         farfree(png_ptr->offset_table);         farfree(png_ptr->offset_table_ptr);         png_ptr->offset_table = NULL;         png_ptr->offset_table_ptr = NULL;      }   }   if (ptr != NULL)   {      farfree(ptr);   }}#else /* Not the Borland DOS special memory handler *//* Allocate memory for a png_struct or a png_info.  The malloc and   memset can be replaced by a single call to calloc() if this is thought   to improve performance noticably. */png_voidp /* PRIVATE */png_create_struct(int type){#ifdef PNG_USER_MEM_SUPPORTED   return (png_create_struct_2(type, png_malloc_ptr_NULL, png_voidp_NULL));}/* Allocate memory for a png_struct or a png_info.  The malloc and   memset can be replaced by a single call to calloc() if this is thought   to improve performance noticably. */png_voidp /* PRIVATE */png_create_struct_2(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr){#endif /* PNG_USER_MEM_SUPPORTED */   png_size_t size;   png_voidp struct_ptr;   if (type == PNG_STRUCT_INFO)      size = png_sizeof(png_info);   else if (type == PNG_STRUCT_PNG)      size = png_sizeof(png_struct);   else      return (NULL);#ifdef PNG_USER_MEM_SUPPORTED   if(malloc_fn != NULL)   {      png_struct dummy_struct;      png_structp png_ptr = &dummy_struct;      png_ptr->mem_ptr=mem_ptr;      struct_ptr = (*(malloc_fn))(png_ptr, size);      if (struct_ptr != NULL)         png_memset(struct_ptr, 0, size);      return (struct_ptr);   }#endif /* PNG_USER_MEM_SUPPORTED */#if defined(__TURBOC__) && !defined(__FLAT__)   struct_ptr = (png_voidp)farmalloc(size);#else# if defined(_MSC_VER) && defined(MAXSEG_64K)   struct_ptr = (png_voidp)halloc(size,1);# else   struct_ptr = (png_voidp)malloc(size);# endif#endif   if (struct_ptr != NULL)      png_memset(struct_ptr, 0, size);   return (struct_ptr);}/* Free memory allocated by a png_create_struct() call */void /* PRIVATE */png_destroy_struct(png_voidp struct_ptr){#ifdef PNG_USER_MEM_SUPPORTED   png_destroy_struct_2(struct_ptr, png_free_ptr_NULL, png_voidp_NULL);}/* Free memory allocated by a png_create_struct() call */void /* PRIVATE */png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn,    png_voidp mem_ptr){#endif /* PNG_USER_MEM_SUPPORTED */   if (struct_ptr != NULL)   {#ifdef PNG_USER_MEM_SUPPORTED      if(free_fn != NULL)      {         png_struct dummy_struct;         png_structp png_ptr = &dummy_struct;         png_ptr->mem_ptr=mem_ptr;         (*(free_fn))(png_ptr, struct_ptr);         return;      }#endif /* PNG_USER_MEM_SUPPORTED */#if defined(__TURBOC__) && !defined(__FLAT__)      farfree(struct_ptr);#else# if defined(_MSC_VER) && defined(MAXSEG_64K)      hfree(struct_ptr);# else      free(struct_ptr);# endif#endif   }}/* Allocate memory.  For reasonable files, size should never exceed   64K.  However, zlib may allocate more then 64K if you don't tell   it not to.  See zconf.h and png.h for more information.  zlib does   need to allocate exactly 64K, so whatever you call here must   have the ability to do that. */png_voidp PNGAPIpng_malloc(png_structp png_ptr, png_uint_32 size){   png_voidp ret;#ifdef PNG_USER_MEM_SUPPORTED   if (png_ptr == NULL || size == 0)      return (NULL);   if(png_ptr->malloc_fn != NULL)       ret = ((png_voidp)(*(png_ptr->malloc_fn))(png_ptr, (png_size_t)size));   else       ret = (png_malloc_default(png_ptr, size));   if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)       png_error(png_ptr, "Out of Memory!");   return (ret);}png_voidp PNGAPIpng_malloc_default(png_structp png_ptr, png_uint_32 size){   png_voidp ret;#endif /* PNG_USER_MEM_SUPPORTED */   if (png_ptr == NULL || size == 0)      return (NULL);#ifdef PNG_MAX_MALLOC_64K   if (size > (png_uint_32)65536L)   {#ifndef PNG_USER_MEM_SUPPORTED      if(png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)         png_error(png_ptr, "Cannot Allocate > 64K");      else#endif         return NULL;   }#endif /* Check for overflow */#if defined(__TURBOC__) && !defined(__FLAT__) if (size != (unsigned long)size)   ret = NULL; else   ret = farmalloc(size);#else# if defined(_MSC_VER) && defined(MAXSEG_64K) if (size != (unsigned long)size)   ret = NULL; else   ret = halloc(size, 1);# else if (size != (size_t)size)   ret = NULL; else   ret = malloc((size_t)size);# endif#endif#ifndef PNG_USER_MEM_SUPPORTED   if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)      png_error(png_ptr, "Out of Memory");#endif   return (ret);}/* Free a pointer allocated by png_malloc().  If ptr is NULL, return   without taking any action. */void PNGAPIpng_free(png_structp png_ptr, png_voidp ptr){   if (png_ptr == NULL || ptr == NULL)      return;#ifdef PNG_USER_MEM_SUPPORTED   if (png_ptr->free_fn != NULL)   {      (*(png_ptr->free_fn))(png_ptr, ptr);      return;   }   else png_free_default(png_ptr, ptr);}void PNGAPIpng_free_default(png_structp png_ptr, png_voidp ptr){   if (png_ptr == NULL || ptr == NULL)      return;#endif /* PNG_USER_MEM_SUPPORTED */#if defined(__TURBOC__) && !defined(__FLAT__)   farfree(ptr);#else# if defined(_MSC_VER) && defined(MAXSEG_64K)   hfree(ptr);# else   free(ptr);# endif#endif}#endif /* Not Borland DOS special memory handler */#if defined(PNG_1_0_X)#  define png_malloc_warn png_malloc#else/* This function was added at libpng version 1.2.3.  The png_malloc_warn() * function will set up png_malloc() to issue a png_warning and return NULL * instead of issuing a png_error, if it fails to allocate the requested * memory. */png_voidp PNGAPIpng_malloc_warn(png_structp png_ptr, png_uint_32 size){   png_voidp ptr;   png_uint_32 save_flags=png_ptr->flags;   png_ptr->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;   ptr = (png_voidp)png_malloc((png_structp)png_ptr, size);   png_ptr->flags=save_flags;   return(ptr);}#endifpng_voidp PNGAPIpng_memcpy_check (png_structp png_ptr, png_voidp s1, png_voidp s2,   png_uint_32 length){   png_size_t size;   size = (png_size_t)length;   if ((png_uint_32)size != length)      png_error(png_ptr,"Overflow in png_memcpy_check.");   return(png_memcpy (s1, s2, size));}png_voidp PNGAPIpng_memset_check (png_structp png_ptr, png_voidp s1, int value,   png_uint_32 length){   png_size_t size;   size = (png_size_t)length;   if ((png_uint_32)size != length)      png_error(png_ptr,"Overflow in png_memset_check.");   return (png_memset (s1, value, size));}#ifdef PNG_USER_MEM_SUPPORTED/* This function is called when the application wants to use another method * of allocating and freeing memory. */void PNGAPIpng_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr  malloc_fn, png_free_ptr free_fn){   png_ptr->mem_ptr = mem_ptr;   png_ptr->malloc_fn = malloc_fn;   png_ptr->free_fn = free_fn;}/* This function returns a pointer to the mem_ptr associated with the user * functions.  The application should free any memory associated with this * pointer before png_write_destroy and png_read_destroy are called. */png_voidp PNGAPIpng_get_mem_ptr(png_structp png_ptr){   return ((png_voidp)png_ptr->mem_ptr);}#endif /* PNG_USER_MEM_SUPPORTED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清完整版在线观看 | 亚洲国产精品久久一线不卡| 日本欧美久久久久免费播放网| www国产成人| 91黄色免费版| 国产一区二区按摩在线观看| 一区二区高清在线| 久久久久久久综合狠狠综合| 欧美日韩卡一卡二| 波多野结衣中文字幕一区二区三区| 亚洲18色成人| 国产精品久久久久久妇女6080| 日韩午夜三级在线| 欧美中文字幕一二三区视频| 成人综合日日夜夜| 美国av一区二区| 亚洲va在线va天堂| 最新日韩av在线| 精品国产伦一区二区三区观看体验| 欧美三级中文字幕在线观看| 成人av电影在线观看| 国产精品一线二线三线| 免费久久精品视频| 亚洲成人手机在线| 亚洲一区二区三区三| 国产精品乱码一区二区三区软件| 精品欧美黑人一区二区三区| 91精品国产高清一区二区三区蜜臀| 色婷婷国产精品久久包臀| 成人av资源站| 波多野结衣中文字幕一区 | 成人在线视频首页| 国产一二三精品| 久久99精品久久久久久国产越南| 丝袜美腿亚洲一区二区图片| 亚洲一区二区三区四区五区中文| 中文字幕一区二区三区乱码在线| 国产精品婷婷午夜在线观看| 久久久久久久久久久久久女国产乱 | 91视频在线观看| 99久久99久久精品免费看蜜桃| 成人在线视频首页| 成人a级免费电影| jizz一区二区| 99国产欧美另类久久久精品| 不卡在线观看av| av亚洲精华国产精华精华| 成人av电影在线播放| 99视频热这里只有精品免费| 91网址在线看| 在线观看亚洲a| 欧美专区在线观看一区| 欧美日韩国产精选| 欧美一级爆毛片| 精品日产卡一卡二卡麻豆| 久久综合久久久久88| 中日韩免费视频中文字幕| 亚洲色图另类专区| 亚洲图片有声小说| 老司机精品视频线观看86| 国产一区二区三区免费观看| 大胆欧美人体老妇| 一本大道久久a久久精二百| 日本道色综合久久| 在线播放91灌醉迷j高跟美女| 日韩精品自拍偷拍| 国产日韩一级二级三级| 亚洲三级在线播放| 亚洲国产精品麻豆| 国产综合成人久久大片91| av一区二区三区黑人| 欧美亚洲免费在线一区| 日韩欧美一级特黄在线播放| 国产亚洲女人久久久久毛片| 中文字幕在线不卡视频| 亚洲妇女屁股眼交7| 精品一区二区免费看| 97久久精品人人做人人爽50路| 欧美色老头old∨ideo| 久久先锋影音av鲁色资源网| 亚洲欧美一区二区久久| 麻豆精品在线视频| 色综合久久中文字幕综合网| 91精品国产91久久久久久最新毛片 | 北条麻妃一区二区三区| 在线观看www91| 日韩精品一区国产麻豆| 亚洲日本丝袜连裤袜办公室| 看电视剧不卡顿的网站| 91视频.com| 久久这里都是精品| 亚洲一区影音先锋| 国产成人免费网站| 欧美日韩黄视频| 国产精品国产三级国产a | 国产成人午夜99999| 欧洲精品在线观看| 国产日韩精品一区二区浪潮av | 精品国产一区二区三区忘忧草 | 国产精品剧情在线亚洲| 五月天一区二区三区| 国产盗摄女厕一区二区三区| 欧美美女一区二区三区| 中文字幕亚洲电影| 理论电影国产精品| 精品1区2区3区| 亚洲天堂av一区| 国内精品伊人久久久久av影院| 欧美日韩一级黄| 国产精品久久久久天堂| 国产自产2019最新不卡| 欧美天天综合网| 中文字幕在线视频一区| 国产精品中文欧美| 日韩写真欧美这视频| 亚洲福利视频一区二区| 97精品久久久午夜一区二区三区| 久久午夜色播影院免费高清 | 蜜臀久久久久久久| 欧洲一区在线电影| 自拍视频在线观看一区二区| 激情文学综合丁香| 欧美一区二区三区成人| 亚洲裸体在线观看| 不卡电影一区二区三区| 久久综合色8888| 狠狠色2019综合网| 欧美va亚洲va香蕉在线| 奇米影视一区二区三区小说| 欧美一区二区久久| 婷婷久久综合九色国产成人 | 欧美日韩精品二区第二页| 亚洲色图一区二区| 成人sese在线| 亚洲国产电影在线观看| 成人一道本在线| 亚洲国产高清在线| 成人精品gif动图一区| 国产欧美日产一区| 成人网在线免费视频| 亚洲国产精品精华液ab| 成人午夜精品一区二区三区| 国产精品免费视频网站| jiyouzz国产精品久久| 亚洲视频免费在线| 在线精品视频小说1| 亚洲精品视频在线看| 色综合天天综合网天天狠天天| 亚洲美女免费在线| 欧美日韩一区不卡| 免费观看一级特黄欧美大片| 欧美sm美女调教| 国产伦精品一区二区三区视频青涩| 久久精品一区二区| 波多野结衣91| 亚洲一区二区三区四区在线| 欧美群妇大交群的观看方式| 蜜桃91丨九色丨蝌蚪91桃色| 精品国产1区二区| 风流少妇一区二区| 亚洲欧美激情插| 欧美日韩在线播| 久久精品国产免费| 日本一区二区视频在线观看| 色综合久久久网| 亚洲成人在线网站| 欧美精品一区二区三区很污很色的| 国产电影一区二区三区| 亚洲天天做日日做天天谢日日欢 | 亚洲精品一区二区三区福利| 丁香激情综合国产| 亚洲午夜久久久久久久久电影院| 宅男噜噜噜66一区二区66| 免费观看91视频大全| 国产精品区一区二区三| 欧美性极品少妇| 国产九色sp调教91| 悠悠色在线精品| 日韩欧美国产高清| 91蝌蚪国产九色| 美女看a上一区| 亚洲天堂网中文字| 欧美成人vr18sexvr| 色网综合在线观看| 精品无码三级在线观看视频| 日韩毛片视频在线看| 日韩一级高清毛片| 色综合中文综合网| 国产精品欧美精品| 欧美精品v日韩精品v韩国精品v| 国产一区二区三区综合| 一区二区三区在线视频免费| 精品91自产拍在线观看一区| 在线精品视频免费播放| 国产精品 日产精品 欧美精品| 亚洲国产精品久久久久婷婷884| 久久精品男人天堂av| 91麻豆精品国产91久久久更新时间| 成人av动漫网站| 国产在线观看一区二区|