Next: Generic Functions, Previous: Function Portability, Up: Library Functions [Contents][Index]
¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï — ¤½¤Î¸ºß¤Ë¤«¤«¤ï¤é¤º — ÆÃÄê¤ÎC´Ø¿ô¤òÄ´ºº¤·¡¤¾ì¹ç ¤Ë¤è¤Ã¤Æ¤Ï¡¤ÆÃÄê¤Î°ú¿ô¤¬Í¿¤¨¤é¤ì¤¿¤È¤¤ÎÈ¿±þ¤òÄ´ºº¤·¤Þ¤¹¡¥
alloca¤ò»ÈÍѤ¹¤ëÊýË¡¤òÄ´ºº¤·¤Þ¤¹¡¥alloca.h¤ä¡¤Á°¤â¤Ã¤ÆÄêµÁ
¤µ¤ì¤Æ¤¤¤ëC¥×¥ê¥×¥í¥»¥Ã¥µ¥Þ¥¯¥í¤Î__GNUC__¤È_AIX¤òÄ´ºº¤¹¤ë
¤³¤È¤Ç¡¤ÁȤ߹þ¤ß¥Ð¡¼¥¸¥ç¥ó¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤¬
alloca.h¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¤HAVE_ALLOCA_H¤òÄêµÁ¤·¤Þ¤¹¡¥
¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¾ì¹ç¡¤É¸½àC¥é¥¤¥Ö¥é¥ê¤Ç´Ø¿ô¤òõ¤·¤Þ¤¹¡¥¤½¤ì¤é¤Î¼êË¡¤Î
¤¤¤º¤ì¤«¤¬À®¸ù¤·¤¿¾ì¹ç¡¤¤½¤ì¤ÏHAVE_ALLOCA¤òÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Î
¾ì¹ç¤Ï¡¤½ÐÎÏÊÑ¿ô¤ÎALLOCA¤ò‘alloca.o’¤ËÀßÄꤷ¡¤
C_ALLOCA¤òÄêµÁ¤·¤Þ¤¹(¤½¤ì¤Ç¡¤¥×¥í¥°¥é¥à¤¬¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î
¤¿¤áÄê´üŪ¤Ë‘alloca(0)’¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Ï¡¤
LIBOBJS¤È¤ÏÊÌʪ¤Ê¤Î¤Ç¡¤¼ÂºÝ¤Ë¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤·¤Ê¤¯¤Æ¤âÊ£¿ô¤Î¥×¥í
¥°¥é¥à¤ÇALLOCA¤ÎÃͤò¶¦Í¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¤¬¡¤LIBOBJS¤Ç»È
ÍѤ¹¤ë¾ì¹ç¤â¤ï¤º¤«¤Ë¤¢¤ê¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ï¡¤System V R3 ¤ÎlibPW¤äSystem V R4¤Îlibucb¤Î
alloca¤Î»ÈÍѤò»î¤ß¤Þ¤»¤ó¡¥¤Ê¤¼¤Ê¤é¡¤¤½¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤Ë¤Ï¸ß´¹À
¤¬¤Ê¤¤´Ø¿ô¤¬¤¢¤êÌäÂ꤬À¸¤¸¤ë¤¿¤á¤Ç¤¹¡¥alloca¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤ä¥Ð¥°
¤À¤é¤±¤Î¥Ð¡¼¥¸¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡¥¤½¤ì¤Ç¤â¡¤¤½¤Îalloca¤ò»ÈÍѤ·¤¿¤¤¾ì
¹ç¡¤alloca.c¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÂå¤ï¤ê¤Ë¡¤¥é¥¤¥Ö¥é¥ê¤«¤é
alloca.o¤òÃê½Ð¤¹¤ë¤¿¤á¡¤ar¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥
alloca¤ò»ÈÍѤ¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¤Àµ³Î¤ËÀë¸À¤¹¤ë¤¿¤á¤Ë¡¤°Ê²¼¤Î
¤è¤¦¤Ê¥³¡¼¥É¤Ç»Ï¤á¤ë¤Ù¤¤Ç¤¹¡¥AIX¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¤
alloca¤ÎÀë¸À¤ò¡¤¥³¥á¥ó¥È¤È¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö°Ê³°¤Î¡¤Á´
¤Æ¤Î¹Ô¤ÎÁ°¤Ë½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥#pragma¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï¡¤
ANSI C°ÊÁ°¤Î¥³¥ó¥Ñ¥¤¥é¤¬Ää»ß¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯Ìµ»ë¤¹¤ë¤è¤¦¤Ë¡¤»ú²¼
¤²¤ò¹Ô¤¤¤Þ¤¹¡¥
/* AIX requires this to be the first thing in the file. */ #ifndef __GNUC__ # if HAVE_ALLOCA_H # include <alloca.h> # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif #endif
chown´Ø¿ô¤¬ÍøÍѲÄǽ¤Çưºî¤¹¤ë¾ì¹ç(ÆÃ¤Ë¡¤uid¤Ègid ¤Ë
ÂФ¹¤ë-1¤ò¼õ¤±Æþ¤ì¤ë¤Ù¤¤Ç¤¹)¡¤HAVE_CHOWN¤òÄêµÁ¤·¤Þ¤¹¡¥
closedir´Ø¿ô¤¬°ÕÌ£¤Î¤¢¤ëÃͤòÊÖ¤µ¤Ê¤¤¾ì¹ç¡¤CLOSEDIR_VOID ¤ò
ÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ï¡¤¸Æ¤Ó½Ð¤·Â¦¤Ç¡¤¥¨¥é¡¼¤ò¼¨¤¹Ìá¤êÃͤòÄ´ºº¤¹¤ëɬÍ×
¤¬¤¢¤ê¤Þ¤¹¡¥
error_at_line´Ø¿ô¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¤AC_LIBOBJ¤¬
‘error’¤ÇÃÖ´¹¤µ¤ì¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
fnmatch´Ø¿ô¤¬POSIX½àµò¤Î¾ì¹ç¡¤HAVE_FNMATCH¤òÄêµÁ
¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤Solaris 2.4¤Î¥Ð¥°¤Î¤è¤¦¤Ê¡¤°ìÈÌŪ¤Ê¼ÂÁõ¾å¤Î¥Ð¥°¤ò¸¡½Ð¤·
¤Þ¤¹¡¥
Îò»ËŪ¤ÊÍýͳ¤Î¤¿¤á¡¤¤½¤ì°Ê³°¤ÎAC_FUNC¥Þ¥¯¥í¤È¤ÏÈ¿ÂФˡ¤
AC_FUNC_FNMATCH¤Ï²õ¤ì¤Æ¤¤¤¿¤ê¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¤ê¤¹¤ëfnmatch
¤òÃÖ´¹¤·¤Þ¤»¤ó¡¥°Ê²¼¤ÎAC_REPLACE_FNMATCH¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
AC_REPLACE_FNMATCH(ÃÖ´¹)¤Î¤è¤¦¤Ëưºî¤·¤Þ¤¹¤¬¡¤
fnmatch¤¬GNU¤Î³ÈÄ¥¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤âÄ´ºº¤·¤Þ¤¹¡¥
Î㤨¤Ð¡¤GNU C¥é¥¤¥Ö¥é¥ê2.1¤Î¥Ð¥°¤Î¤è¤¦¤Ê¡¤°ìÈÌŪ¤Ê¼ÂÁõ¾å¤Î¥Ð
¥°¤ò¸¡½Ð¤·¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ï¡¤fork¤Èvfork´Ø¿ô¤òÄ´ºº¤·¤Þ¤¹¡¥Æ°ºî¤¹¤ë
fork¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_WORKING_FORK¤òÄêµÁ¤·¤Þ¤¹¡¥¤³¤Î
¥Þ¥¯¥í¤Ï¡¤fork¤¬¥¹¥¿¥Ö¤«¤É¤¦¤«¤ò¼Â¹Ô¤·¤Æ¤ß¤ë¤³¤È¤ÇÄ´ºº¤·¤Þ¤¹¡¥
vfork.h¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_VFORK_H¤òÄêµÁ¤·¤Þ¤¹¡¥Æ°ºî¤¹
¤ëvfork¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_WORKING_VFORK¤òÄêµÁ¤·¤Þ¤¹¡¥
¤½¤ì°Ê³°¤Î¾ì¹ç¡¤°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Îautoconf¤ËÂФ¹¤ë²¼°Ì¸ß´¹¤Î¤¿
¤á¡¤vfork¤òfork¤ÈÄêµÁ¤·¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ï¡¤vfork¤Î
¼ÂÁõ¤Î¤¤¤¯¤Ä¤«¤Î´ûÃΤΥ¨¥é¡¼¤òÄ´ºº¤·¡¤¤½¤Î¥¨¥é¡¼¤Î¤¤¤º¤ì¤«¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¤
¥·¥¹¥Æ¥à¤Ë¤Ïưºî¤¹¤ëvfork¤¬Ìµ¤¤¤È¹Í¤¨¤Þ¤¹¡¥»Ò¥×¥í¥»¥¹¤Ï¡¤¥·¥°¥Ê¥ë
¥Ï¥ó¥É¥é¤òÊѤ¨¤ë¤³¤È¤¬¤á¤Ã¤¿¤Ë¤Ê¤¤¤Î¤Ç¡¤»Ò¥×¥í¥»¥¹¤Îsignal¤Î¸Æ¤Ó
½Ð¤·¤¬¡¤¿Æ¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤òÊѹ¹¤¹¤ë¾ì¹ç¡¤¼ÂÁõ¥¨¥é¡¼¤À¤È¤Ï¹Í¤¨
¤é¤ì¤Þ¤»¤ó¡¥
¤³¤Î¥Þ¥¯¥í¤Ï¡¤°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Îautoconf¤Ø¤Î²¼°Ì¸ß´¹À¤Î¤¿¤á¤À
¤±¤Ëvfork¤òÄêµÁ¤¹¤ë¤Î¤Ç¡¤¥³¡¼¥ÉÆâ¤ÇÆÈ¼«¤ËÄêµÁ¤¹¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡¥
#if !HAVE_WORKING_VFORK # define vfork fork #endif
fseeko´Ø¿ô¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¡¤HAVE_FSEEKO¤òÄêµÁ¤·¤Þ¤¹¡¥É¬Í×
¤¬¤¢¤ì¤Ð¡¤¥×¥í¥È¥¿¥¤¥×¤¬¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¾å¤Ç(Î㤨¤Ðglibc 2.2)¸«¤ÆÊ¬¤«
¤ë¤è¤¦¤Ë¡¤_LARGEFILE_SOURCE¤òÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ï¡¤
AC_SYS_LARGEFILE¤òÍѤ¤¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¡¤off_t¤¬¥Ç¥Õ¥©
¥ë¥È¤Ç64bit¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥é¡¼¥¸¥Õ¥¡¥¤¥ë¤ËÌäÂ꤬¤¢¤ë¥·¥¹¥Æ¥à¾å¤Ç¡¤¥ê¥ó¥¯
¤ÎÌäÂ꤬ȯÀ¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡¥
getgroups´Ø¿ô¤¬ÍøÍѲÄǽ¤Ç¡¤(‘getgroups (0, 0)’¤¬¾ï¤Ë¼ºÇÔ¤¹¤ë
Ultrix 4.3¤È°Û¤Ê¤ê)ưºî¤¹¤ë¾ì¹ç¡¤HAVE_GETGROUPS¤òÄêµÁ¤·¤Þ¤¹¡¥
GETGROUPS_LIBS¤ò¤½¤Î´Ø¿ô¤Î»ÈÍѤËɬÍפÊÁ´¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤ËÄêµÁ¤·¤Þ
¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ï¡¤AC_TYPE_GETGROUPS¤ò¼Â¹Ô¤·¤Þ¤¹¡¥
¥·¥¹¥Æ¥à¤Î¥í¡¼¥É¥¢¥Ù¥ì¡¼¥¸¤ò¼èÆÀ¤¹¤ëÊýË¡¤òÄ´ºº¤·¤Þ¤¹¡¥Å¬ÀÚ¤ËÄ´ºº¤ò¼Â¹Ô¤¹
¤ë¤¿¤á¡¤¤³¤Î¥Þ¥¯¥í¤Ï¥Õ¥¡¥¤¥ëgetloadavg.c¤¬É¬ÍפǤ¹¡¥¤³¤Î¤¿¤á¡¤Å¬
ÀÚ¤ÊÃÖ´¹¥Ç¥£¥ì¥¯¥È¥ê¤òAC_LIBOBJ¤Ç³Î¼Â¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤
(Generic Functions¤È¡¤AC_CONFIG_LIBOBJ_DIR¤ò»²¾È¤·¤Æ¤¯¤À¤µ
¤¤)¡¥
¥·¥¹¥Æ¥à¤Ëgetloadavg´Ø¿ô¤¬¤¢¤ë¾ì¹ç¡¤HAVE_GETLOADAVG¤òÄêµÁ
¤·¡¤¤½¤Î´Ø¿ô¤Î»ÈÍѤËɬÍפÊÁ´¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤òGETLOADAVG_LIBS¤ËÀßÄê
¤·¤Þ¤¹¡¥¤Þ¤¿¡¤GETLOADAVG_LIBS¤òLIBS¤Ë²Ã¤¨¤Þ¤¹¡¥¤½¤ì°Ê³°¤Î
¾ì¹ç¡¤AC_LIBOBJ¤Ç‘getloadavg’¤òdir/getloadavg.c
¤Î¥½¡¼¥¹¥³¡¼¥É¤ÇÃÖ´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¡¤¤ª¤½¤é¤¯°Ê²¼¤Î¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤ÎC¥×
¥ê¥×¥í¥»¥Ã¥µ¤Î¥Þ¥¯¥í¤È½ÐÎÏÊÑ¿ô¤òÄêµÁ¤·¤Þ¤¹¡¥
C_GETLOADAVG¤òÄêµÁ¤·¤Þ¤¹¡¥
SVR4¡¤DGUX¡¤UMAX¡¤¤Þ¤¿¤ÏUMAX4_3
¤Î¾ì¹ç¡¤¤½¤ì¤òÄêµÁ¤·¤Þ¤¹¡¥
HAVE_NLIST_H¤òÄêµÁ¤·¤Þ¤¹¡¥
HAVE_STRUCT_NLIST_N_UN_N_NAME¤òÄêµÁ¤·¤Þ¤¹¡¥»þÂåÃÙ¤ì¤Î¥·¥ó¥Ü¥ë
NLIST_NAME_UNION¤âÄêµÁ¤·¤Þ¤¹¤¬¡¤¤½¤ì¤Ë°Í¸¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ
¤¤¡¥
getloadavg¤¬Æ°ºî¤¹¤ë¤¿¤á¤Ë¡¤setgid(¤Þ¤¿¤Ï
setuid)¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òɬÍפȤ¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥¤³¤Î¾ì¹ç¡¤
GETLOADAVG_PRIVILEGED¤òÄêµÁ¤·¡¤½ÐÎÏÊÑ¿ôNEED_SETGID¤ò
‘true’¤Ë(¤½¤ì°Ê³°¤Ç¤Ï‘false’¤Ë)ÀßÄꤷ¡¤¤½¤·¤ÆKMEM_GROUP
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤ò½êͤ¹¤ë¥°¥ë¡¼¥×¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡¥
IRIX 4¡¤PTX¤È¡¤Unixware¤ËÂФ·¡¤sun¡¤seq¡¤¤½¤·¤Æ
gen ¤Î¥é¥¤¥Ö¥é¥êÆâ¤Îgetmntent¤ò¤½¤ì¤¾¤ìÄ´ºº¤·¤Þ¤¹¡¥
getmntent¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¡¤HAVE_GETMNTENT¤òÄêµÁ¤·¤Þ¤¹¡¥
getpgrp¤Ë0¤òÅϤ¹¤È¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç¡¤GETPGRP_VOID¤òÄêµÁ¤·¤Þ
¤¹¡¥¤³¤ì¤ÏPOSIX¤Îưºî¤Ç¤¹¡¥¸Å¤¤BSD¥·¥¹¥Æ¥à¤Ç¤Ï¡¤¤½¤ì
¤Ï°ú¿ô¤ò¤È¤êPOSIX¤Îgetpgid¤Î¤è¤¦¤Ëưºî¤¹¤ë¤Î¤Ç¡¤
getpgrp¤Ë0¤òÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥
#if GETPGRP_VOID pid = getpgrp (); #else pid = getpgrp (0); #endif
¤³¤Î¥Þ¥¯¥í¤Ïgetpgrp¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤òÁ´¤¯Ä´ºº¤·¤Þ¤»¤ó¡¥¤½¤Î¤è¤¦
¤Ê¾õ¶·¤Çưºî¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¤getpgrp¤ËÂФ·¤ÆºÇ½é¤Ë
AC_CHECK_FUNC¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡¥
link¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¤lstat¤Ïlink/¤ò
link/.¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ°·¤¤¤Þ¤¹¡¥¤·¤«¤·¡¤Â¿¤¯¤Î¸Å¤¤lstat ¤Î
¼ÂÁõ¤Ç¤Ï¡¤¸åÃÖ¤µ¤ì¤Æ¤¤¤ë¥¹¥é¥Ã¥·¥å¤ò´Ö°ã¤Ã¤ÆÌµ»ë¤·¤Þ¤¹¡¥
lstat¤¬¸åÃÖ¤µ¤ì¤Æ¤¤¤ë¥¹¥é¥Ã¥·¥å¤ò´Ö°ã¤Ã¤ÆÌµ»ë¤¹¤ë¾ì¹ç¡¤¤½¤ì°Ê³°¤Î
unlink¤Î¤è¤¦¤Êsymbolic-link-aware´Ø¿ô¤â¸åÃÖ¤µ¤ì¤Æ¤¤¤ë¥¹¥é¥Ã¥·¥å¤ò
´Ö°ã¤Ã¤ÆÌµ»ë¤¹¤ë¤È²¾Äꤷ¤¿Êý¤¬³Î¼Â¤Ç¤¹¡¥
lstat¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¾ì¹ç¡¤LSTAT_FOLLOWS_SLASHED_SYMLINK
¤òÄêµÁ¤·¡¤¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¤AC_LIBOBJ¤òlstat¤ÇÃÖ´¹¤¹¤ë¤è¤¦
Í׵ᤷ¤Þ¤¹¡¥
malloc´Ø¿ô¤¬GNU C¥é¥¤¥Ö¥é¥ê¤Îmalloc¤È¸ß´¹À¤¬¤¢
¤ë¾ì¹ç¡¤(¤¹¤Ê¤ï¤Á‘malloc (0)’¤¬Í¸ú¤Ê¥Ý¥¤¥ó¥¿¤òÊÖ¤¹)¾ì¹ç¡¤
HAVE_MALLOC¤ò1¤ËÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ï¡¤HAVE_MALLOC¤ò0
¤ËÄêµÁ¤·¡¤AC_LIBOBJ¤Ç‘malloc’¤òÃÖ´¹¤·¡¤¥Í¥¤¥Æ¥£¥Ö¤Î
malloc¤¬Ã濴Ū¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç»ÈÍѤµ¤ì¤Ê¤¤¤è¤¦¤Ëmalloc¤ò
rpl_malloc¤ÇÄêµÁ¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤Þ¤¹¡¥
Ä̾¥Õ¥¡¥¤¥ëmalloc.c¤ÎÃÖ´¹¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹(‘#undef malloc’¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡¥
#if HAVE_CONFIG_H
# include <config.h>
#endif
#undef malloc
#include <sys/types.h>
void *malloc ();
/* Allocate an N-byte block of memory from the heap.
If N is zero, allocate a 1-byte block. */
void *
rpl_malloc (size_t n)
{
if (n == 0)
n = 1;
return malloc (n);
}
memcmp´Ø¿ô¤¬ÍøÍÑÉÔ²Äǽ¡¤¤Þ¤¿¤Ï(SunOS 4.1.3¤Î¤è¤¦¤Ë)8¥Ó¥Ã¥È¥Ç¡¼¥¿
¤Çưºî¤·¤Ê¤¤¡¤¤Þ¤¿¤Ï(NeXT x86 OpenStep¤Î¤è¤¦¤Ë)16¥Ð¥¤¥È¤«¤½¤ì°Ê¾å¤Ç¾¯¤Ê
¤¯¤È¤â°ì¤Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬4¥Ð¥¤¥È¶³¦¤Ç»Ï¤Þ¤é¤Ê¤¤¤â¤Î¤ÎÈæ³Ó»þ¤Ë¼ºÇÔ¤¹¤ë¾ì¹ç¡¤
AC_LIBOBJ¤Ç‘memcmp’¤òÃÖ´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
´Ø¿ômbrtowc¤È·¿mbstate_t¤¬Àµ¤·¤¯Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤
HAVE_MBRTOWC¤ò1¤ËÀßÄꤷ¤Þ¤¹¡¥
mktime´Ø¿ô¤¬ÍøÍÑÉÔ²Äǽ¡¤¤Þ¤¿¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¾ì¹ç¡¤
AC_LIBOBJ¤Ç‘mktime’¤òÃÖ´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥¤³¤Î¥Æ¥¹¥È¤Î
ÌÜŪ¤ËÂФ·¤Æ¡¤mktime¤ÏPOSIX¤Ë½àµò¤¹¤Ù¤¤Ç¡¤
localtime¤ÎÈ¿ÂФˤʤäƤ¤¤ë¤Ù¤¤Ç¤¹¡¥
mmap´Ø¿ô¤¬Â¸ºß¤·¤ÆÀµ¤·¤¯Æ°ºî¤¹¤ë¾ì¹ç¡¤HAVE_MMAP¤òÄêµÁ¤·¤Þ
¤¹¡¥¤¹¤Ç¤Ë¥Þ¥Ã¥×¤µ¤ì¤¿¥á¥â¥ê¤Î¡¤¥×¥é¥¤¥Ù¡¼¥È¤Ê¸ÇÄꤷ¤¿¥Þ¥Ã¥Ô¥ó¥°¤Î¤ßÄ´ºº
¤·¤Þ¤¹¡¥
obstack¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_OBSTACK¤òÄêµÁ¤·¡¤¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï
AC_LIBOBJ¤Ç‘obstack’¤òÃÖ´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
realloc´Ø¿ô¤¬GNU C¥é¥¤¥Ö¥é¥ê¤Îrealloc¤È¸ß´¹À¤¬
¤¢¤ë¾ì¹ç¡¤(¤¹¤Ê¤ï¤Á‘realloc (0, 0)’¤¬Í¸ú¤Ê¥Ý¥¤¥ó¥¿¤òÊÖ¤¹)¾ì¹ç¡¤
HAVE_REALLOC¤ò1¤ËÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ï¡¤HAVE_REALLOC ¤ò
0¤ËÄêµÁ¤·¡¤AC_LIBOBJ¤Ç‘realloc’¤òÃÖ´¹¤·¡¤¥Í¥¤¥Æ¥£¥Ö¤Î
realloc¤¬Ã濴Ū¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç»ÈÍѤµ¤ì¤Ê¤¤¤è¤¦¤Ërealloc
¤òrpl_realloc¤ÇÄêµÁ¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤Þ¤¹¡¥¾ÜºÙ¤Ï
AC_FUNC_MALLOC¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
select´Ø¿ô¤Î°ú¿ô¤½¤ì¤¾¤ì¤ËÅϤµ¤ì¤ëÀµ¤·¤¤·¿¤ò·èÄꤷ¡¤¤½¤ì¤é¤Î·¿¤ò
SELECT_TYPE_ARG1¡¤SELECT_TYPE_ARG234¡¤¤½¤·¤Æ
SELECT_TYPE_ARG5¤Ë¤½¤ì¤¾¤ìÄêµÁ¤·¤Þ¤¹¡¥SELECT_TYPE_ARG1¤Î¥Ç
¥Õ¥©¥ë¥È¤Ï‘int’¤Ç¡¤SELECT_TYPE_ARG234¤Î¥Ç¥Õ¥©¥ë¥È¤Ï‘int
*’¤Ç¡¤¤½¤·¤ÆSELECT_TYPE_ARG5¤Î¥Ç¥Õ¥©¥ë¥È¤Ï‘struct timeval *’
¤Ç¤¹¡¥
setpgrp¤¬°ú¿ô¤ò»ý¤¿¤Ê¤¤(POSIX¥Ð¡¼¥¸¥ç¥ó¤Î)¾ì¹ç¡¤
SETPGRP_VOID¤òÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ï¡¤BSD¥Ð¡¼¥¸¥ç¥ó¤Ç¡¤
Æó¤Ä¤Î¥×¥í¥»¥¹ID¤ò°ú¿ô¤È¤·¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ïsetpgrp¤Î¸ºß¤òÁ´¤¯Ä´
ºº¤·¤Þ¤»¤ó¡¥¤½¤Î¾õ¶·¤Çưºî¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¤setpgrp¤ËÂФ·¤ÆºÇ½é
¤ËAC_CHECK_FUNC¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡¥
stat¤älstat¤Ë¡¤Ä¹¤µ¤¬0¤Î¥Õ¥¡¥¤¥ë̾¤ò°ú¿ô¤ÇÍ¿¤¨¤¿¤È¤¤ËÀ®¸ù
¤¹¤ë¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ë¤«¤É¤¦¤«¤ò·èÄꤷ¤Þ¤¹¡¥SunOS 4.1.4¤ÈHurd(1998-11-01)
¤Îstat¤Èlstat¤Ç¤Ï¤³¤¦¤Ê¤ê¤Þ¤¹¡¥
¤½¤Î¾ì¹ç¡¤HAVE_STAT_EMPTY_STRING_BUG(¤Þ¤¿¤Ï
HAVE_LSTAT_EMPTY_STRING_BUG)¤òÄêµÁ¤·¡¤AC_LIBOBJ¤Ç¤½¤ì¤òÃÖ
´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
setvbuf¤¬Â¾¤È¤Ï°Û¤Ê¤ê¡¤ÂèÆó°ú¿ô¤Ç¥Ð¥Ã¥Õ¥¡¤Î·¿¡¤Âè»°°ú¿ô¤Ç¥Ð¥Ã¥Õ¥¡
¥Ý¥¤¥ó¥¿¤ò¤È¤ë¾ì¹ç¡¤SETVBUF_REVERSED¤òÄêµÁ¤·¤Þ¤¹¡¥
strcoll´Ø¿ô¤¬Â¸ºß¤·¤Æ¡¤Àµ¤·¤¯Æ°ºî¤¹¤ë¾ì¹ç¡¤HAVE_STRCOLL ¤ò
ÄêµÁ¤·¤Þ¤¹¡¥»ÈÍѤ¹¤Ù¤¤Ç¤Ï¤Ê¤¤strcoll¤Î´Ö°ã¤Ã¤¿ÄêµÁ¤ò»ý¤Ä¥·¥¹¥Æ¥à
¤â¤¢¤ë¤Î¤Ç¡¤‘AC_CHECK_FUNCS(strcoll)’¤è¤ê¿¾¯¤Þ¤·¤Ç¤¹¡¥
strtod´Ø¿ô¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¡¤¤Þ¤¿¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¾ì¹ç¡¤
AC_LIBOBJ¤Ç‘strtod’¤òÃÖ´¹¤¹¤ë¤è¤¦Í׵ᤷ¤Þ¤¹¡¥¤³¤Î¾ì¹ç¡¤
strtod.c¤Ï‘pow’¤òɬÍפȤ¹¤ë¤³¤È¤â¤¢¤êÆÀ¤ë¤Î¤Ç¡¤½ÐÎÏÊÑ¿ô
POW_LIB¤òɬÍפʳ°Éô¥é¥¤¥Ö¥é¥ê¤ËÀßÄꤷ¤Þ¤¹¡¥
strerror_r¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¤ÏHAVE_STRERROR_R¤òÄêµÁ¤·¡¤¤½¤ì
¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤HAVE_DECL_STRERROR_R¤òÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì¤¬
char *¤Î¥á¥Ã¥»¡¼¥¸¤òÊÖ¤¹¾ì¹ç¡¤STRERROR_R_CHAR_P¤òÄêµÁ¤·¤Þ
¤¹¡¥¤½¤ì°Ê³°¤Ç¤Ïint¤Î¥¨¥é¡¼¥Ê¥ó¥Ð¡¼¤òÊÖ¤·¤Þ¤¹¡¥POSIX¤Ç
¤Ïstrerror_r¤¬int¤òÊÖ¤¹¤è¤¦¤ËÍ׵ᤷ¤Æ¤¤¤Þ¤¹¤¬¡¤Â¿¤¯¤Î¥·¥¹
¥Æ¥à¤Î¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê´Ø¿ô¤Î¥ª¥×¥·¥ç¥ó(Î㤨¤ÐGNU C¥é¥¤¥Ö¥é¥ê¤Î
¥Ð¡¼¥¸¥ç¥ó2.2.4¤ò´Þ¤à)¤Ï¡¤¥Ð¥Ã¥Õ¥¡°ú¿ô¤ËÅù¤·¤¤É¬Íפ¬Ìµ¤¤char * ¤Î
ÃͤòÊÖ¤·¤Þ¤¹¡¥
intl¥é¥¤¥Ö¥é¥êÆâ¤Ç¡¤SCO UNIX¤ËÂФ¹¤ëstrftime¤òÄ´ºº¤·
¤Þ¤¹¡¥strftime¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¡¤HAVE_STRFTIME¤òÄêµÁ¤·¤Þ¤¹¡¥
strnlen¤¬ÍøÍÑÉÔ²Äǽ¤Ê¾ì¹ç¤ä(AIX 4.3¤Î¤è¤¦¤Ë)¥Ð¥°¤¬Â¿¤¤
¾ì¹ç¡¤AC_LIBOBJ¤ÇÃÖ´¹¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
‘utime(file, NULL)’¤¬file¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¸½ºß¤Î¤â¤Î¤Ë
ÀßÄꤹ¤ë¾ì¹ç¡¤HAVE_UTIME_NULL¤òÄêµÁ¤·¤Þ¤¹¡¥
vprintf¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_VPRINTF¤òÄêµÁ¤·¤Þ¤¹¡¥¤½¤ì°Ê
³°¤Ç¡¤_doprnt¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¤HAVE_DOPRNT¤òÄêµÁ¤·¤Þ¤¹¡¥
(vprintf¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¡¤vfprintf¤Èvsprintf¤âÍøÍÑ
²Äǽ¤À¤È²¾Äê¤Ç¤¤ë¤Ç¤·¤ç¤¦¡¥)
fnmatch´Ø¿ô¤¬POSIX½àµò¤Ç¤Ê¤¤¾ì¹ç(AC_FUNC_FNMATCH
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡¤¤½¤ì¤òAC_LIBOBJ¤ÇÃÖ´¹¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤Þ¤¹¡¥
AC_LIBOBJ¤ÎÃÖ´¹Íѥǥ£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ëfnmatch.c¡¤
fnmatch_loop.c¡¤¤½¤·¤Æfnmatch_.h¤¬¡¤GNU
fnmatch¤Î¥½¡¼¥¹¥³¡¼¥É¤ò¤Î¥³¥Ô¡¼¤ò´Þ¤ó¤Ç¤¤¤ë¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡¥É¬ÍפÊ
¾ì¹ç¡¤¤³¤Î¥½¡¼¥¹¥³¡¼¥É¤ÏAC_LIBOBJ¤Ç¤ÎÃÖ´¹Êª¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¡¤
¥·¥¹¥Æ¥à¤Î<fnmatch.h>¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤Ç¤¤ë¤è¤¦¤Ë¡¤
fnmatch_.h¤¬fnmatch.h¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡¥
Next: Generic Functions, Previous: Function Portability, Up: Library Functions [Contents][Index]