Tree @debian/1.2.1-1 (Download .tar.gz)
- ..
- 00gnulib.m4
- absolute-header.m4
- alloca.m4
- arpa_inet_h.m4
- asm-underscore.m4
- autobuild.m4
- base64.m4
- btowc.m4
- byteswap.m4
- calloc.m4
- canonicalize.m4
- chown.m4
- clock_time.m4
- close.m4
- codeset.m4
- configmake.m4
- count-one-bits.m4
- dirname.m4
- double-slash-root.m4
- dup.m4
- dup2.m4
- eealloc.m4
- environ.m4
- errno_h.m4
- error.m4
- execinfo.m4
- exponentd.m4
- exponentf.m4
- exponentl.m4
- extensions.m4
- extern-inline.m4
- fatal-signal.m4
- fclose.m4
- fcntl-o.m4
- fcntl.m4
- fcntl_h.m4
- fdatasync.m4
- fdopen.m4
- fflush.m4
- ffs.m4
- ffsl.m4
- float_h.m4
- fnmatch.m4
- fpieee.m4
- fpurge.m4
- freading.m4
- fseek.m4
- fseeko.m4
- fstat.m4
- fsync.m4
- ftell.m4
- ftello.m4
- ftruncate.m4
- func.m4
- getaddrinfo.m4
- getcwd.m4
- getdelim.m4
- getdtablesize.m4
- getgroups.m4
- gethostname.m4
- getline.m4
- getpagesize.m4
- getpass.m4
- gettext.m4
- gettimeofday.m4
- getugroups.m4
- gl-openssl.m4
- glibc21.m4
- gnulib-common.m4
- gnulib-comp.m4
- grantpt.m4
- hostent.m4
- iconv.m4
- include_next.m4
- inet_ntop.m4
- inet_pton.m4
- intlmacosx.m4
- intmax_t.m4
- inttypes-pri.m4
- inttypes.m4
- inttypes_h.m4
- ioctl.m4
- isatty.m4
- isnand.m4
- isnanf.m4
- isnanl.m4
- langinfo_h.m4
- largefile.m4
- lcmessage.m4
- ldexp.m4
- lib-ld.m4
- lib-link.m4
- lib-prefix.m4
- libtool.m4
- localcharset.m4
- locale-fr.m4
- locale-ja.m4
- locale-tr.m4
- locale-zh.m4
- locale_h.m4
- localeconv.m4
- localename.m4
- lock.m4
- longlong.m4
- lseek.m4
- lstat.m4
- ltoptions.m4
- ltsugar.m4
- ltversion.m4
- lt~obsolete.m4
- malloc.m4
- malloca.m4
- manywarnings.m4
- math_h.m4
- mbrtowc.m4
- mbsinit.m4
- mbsrtowcs.m4
- mbstate_t.m4
- mbtowc.m4
- md5.m4
- memchr.m4
- mgetgroups.m4
- mkdtemp.m4
- mkostemp.m4
- mkostemps.m4
- mktime.m4
- mmap-anon.m4
- mode_t.m4
- msvc-inval.m4
- msvc-nothrow.m4
- multiarch.m4
- nanosleep.m4
- net_if_h.m4
- netdb_h.m4
- netinet_in_h.m4
- nl_langinfo.m4
- nls.m4
- nocrash.m4
- nonblocking.m4
- off_t.m4
- onceonly.m4
- open.m4
- passfd.m4
- pathmax.m4
- perror.m4
- physmem.m4
- pipe.m4
- pipe2.m4
- po.m4
- poll.m4
- poll_h.m4
- posix-shell.m4
- posix_openpt.m4
- posix_spawn.m4
- printf.m4
- progtest.m4
- pthread.m4
- pthread_sigmask.m4
- ptsname.m4
- ptsname_r.m4
- pty.m4
- pty_h.m4
- putenv.m4
- raise.m4
- random_r.m4
- rawmemchr.m4
- read.m4
- readlink.m4
- realloc.m4
- regex.m4
- sched_h.m4
- secure_getenv.m4
- select.m4
- servent.m4
- setenv.m4
- setlocale.m4
- sha256.m4
- sig_atomic_t.m4
- sigaction.m4
- signal_h.m4
- signalblocking.m4
- signbit.m4
- sigpipe.m4
- size_max.m4
- sleep.m4
- snprintf.m4
- socketlib.m4
- sockets.m4
- socklen.m4
- sockpfaf.m4
- spawn_h.m4
- ssize_t.m4
- stat-time.m4
- stat.m4
- stdalign.m4
- stdarg.m4
- stdbool.m4
- stddef_h.m4
- stdint.m4
- stdint_h.m4
- stdio_h.m4
- stdlib_h.m4
- stpcpy.m4
- strcase.m4
- strchrnul.m4
- strdup.m4
- strerror.m4
- strerror_r.m4
- string_h.m4
- strings_h.m4
- strndup.m4
- strnlen.m4
- strptime.m4
- strsep.m4
- strtok_r.m4
- symlink.m4
- sys_ioctl_h.m4
- sys_select_h.m4
- sys_socket_h.m4
- sys_stat_h.m4
- sys_time_h.m4
- sys_types_h.m4
- sys_uio_h.m4
- sys_utsname_h.m4
- sys_wait_h.m4
- tempname.m4
- termios_h.m4
- thread.m4
- threadlib.m4
- time_h.m4
- time_r.m4
- timegm.m4
- tm_gmtoff.m4
- ttyname_r.m4
- uname.m4
- ungetc.m4
- unistd_h.m4
- unlockpt.m4
- usleep.m4
- vasnprintf.m4
- vasprintf.m4
- virt-apparmor.m4
- virt-attr.m4
- virt-audit.m4
- virt-avahi.m4
- virt-blkid.m4
- virt-capng.m4
- virt-compile-pie.m4
- virt-compile-warnings.m4
- virt-curl.m4
- virt-dbus.m4
- virt-fuse.m4
- virt-gluster.m4
- virt-hal.m4
- virt-lib.m4
- virt-linker-no-indirect.m4
- virt-linker-relro.m4
- virt-netcf.m4
- virt-numactl.m4
- virt-openwsman.m4
- virt-pciaccess.m4
- virt-readline.m4
- virt-result.m4
- virt-sanlock.m4
- virt-sasl.m4
- virt-selinux.m4
- virt-ssh2.m4
- virt-udev.m4
- virt-yajl.m4
- vsnprintf.m4
- wait-process.m4
- waitpid.m4
- warnings.m4
- wchar_h.m4
- wchar_t.m4
- wcrtomb.m4
- wctob.m4
- wctomb.m4
- wctype_h.m4
- wint_t.m4
- write.m4
- xalloc.m4
- xsize.m4
mbsrtowcs.m4 @debian/1.2.1-1 — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | # mbsrtowcs.m4 serial 13 dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSRTOWCS], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbsrtowcs]) if test $ac_cv_func_mbsrtowcs = no; then HAVE_MBSRTOWCS=0 AC_CHECK_DECLS([mbsrtowcs],,, [[ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> ]]) if test $ac_cv_have_decl_mbsrtowcs = yes; then dnl On Minix 3.1.8, the system's <wchar.h> declares mbsrtowcs() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_MBSRTOWCS=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSRTOWCS=1 else gl_MBSRTOWCS_WORKS case "$gl_cv_func_mbsrtowcs_works" in *yes) ;; *) REPLACE_MBSRTOWCS=1 ;; esac fi fi ]) dnl Test whether mbsrtowcs works. dnl Result is gl_cv_func_mbsrtowcs_works. AC_DEFUN([gl_MBSRTOWCS_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbsrtowcs works], [gl_cv_func_mbsrtowcs_works], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on HP-UX, Solaris, mingw. hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; /* Test whether the function supports a NULL destination argument. This fails on native Windows. */ if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { const char input[] = "\337er"; const char *src = input; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbsrtowcs (NULL, &src, 1, &state) != 3 || src != input) result |= 1; } /* Test whether the function works when started with a conversion state in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { const char input[] = "B\303\274\303\237er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 2; } } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "<\306\374\313\334\270\354>"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 3, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 4; if (mbsrtowcs (NULL, &src, 10, &state) != 3) result |= 4; } } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { const char input[] = "B\250\271\201\060\211\070er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 8; } } return result; }]])], [gl_cv_func_mbsrtowcs_works=yes], [gl_cv_func_mbsrtowcs_works=no], [:]) fi ]) ]) # Prerequisites of lib/mbsrtowcs.c. AC_DEFUN([gl_PREREQ_MBSRTOWCS], [ : ]) |