mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-09 04:11:27 +08:00
7b503bcc13
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV if from and to charsets are the same. * iconv/gconv_db.c (__gconv_find_transform): Likewise. * intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open returns __GCONV_NOCONV, but not for __GCONV_NULCONV. 2007-07-17 Jakub Jelinek <jakub@redhat.com> * wcsmbs/wchar.h: Only define wint_t if __need_wint_t. Don't define wint_t when __need_mbstate_t unless it is necessary. (__mbstate_t): Use __WINT_TYPE__ rather than wint_t in the typedef if possible. * wctype/wctype.h (wint_t): Define by including wchar.h with __need_wint_t instead of including stddef.h with __need_wint_t and as fallback definining it ourselves. * iconv/gconv.h (__need_wint_t): Define before including wchar.h. * sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC or _GLIBCPP_USE_WCHAR_T. (__need_wchar_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T. (__need_wint_t): Don't define before including stddef.h, define before including wchar.h only if _LIBC or _GLIBCPP_USE_WCHAR_T. (_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T. * sysdeps/mach/hurd/_G_config.h: Likewise. * sysdeps/generic/_G_config.h: Likewise. * libio/libio.h (__wunderflow, __wuflow, __woverflow): Only prototype if _LIBC or _GLIBCPP_USE_WCHAR_T. (_IO_getwc_unlocked, _IO_putwc_unlocked): Only define if _LIBC or _GLIBCPP_USE_WCHAR_T.
94 lines
2.2 KiB
C
94 lines
2.2 KiB
C
/* This file is needed by libio to define various configuration parameters.
|
|
These are always the same in the GNU C library. */
|
|
|
|
#ifndef _G_config_h
|
|
#define _G_config_h 1
|
|
|
|
/* Define types for libio in terms of the standard internal type names. */
|
|
|
|
#include <bits/types.h>
|
|
#define __need_size_t
|
|
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
|
# define __need_wchar_t
|
|
#endif
|
|
#define __need_NULL
|
|
#include <stddef.h>
|
|
#define __need_mbstate_t
|
|
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
|
# define __need_wint_t
|
|
#endif
|
|
#include <wchar.h>
|
|
#define _G_size_t size_t
|
|
typedef struct
|
|
{
|
|
__off_t __pos;
|
|
__mbstate_t __state;
|
|
} _G_fpos_t;
|
|
typedef struct
|
|
{
|
|
__off64_t __pos;
|
|
__mbstate_t __state;
|
|
} _G_fpos64_t;
|
|
#define _G_ssize_t __ssize_t
|
|
#define _G_off_t __off_t
|
|
#define _G_off64_t __off_t
|
|
#define _G_pid_t __pid_t
|
|
#define _G_uid_t __uid_t
|
|
#define _G_wchar_t wchar_t
|
|
#define _G_wint_t wint_t
|
|
#define _G_stat64 stat
|
|
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
|
# include <gconv.h>
|
|
typedef union
|
|
{
|
|
struct __gconv_info __cd;
|
|
struct
|
|
{
|
|
struct __gconv_info __cd;
|
|
struct __gconv_step_data __data;
|
|
} __combined;
|
|
} _G_iconv_t;
|
|
#endif
|
|
|
|
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
|
|
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
|
|
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
|
|
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
|
|
|
|
#define _G_HAVE_BOOL 1
|
|
|
|
|
|
/* These library features are always available in the GNU C library. */
|
|
#define _G_HAVE_ATEXIT 1
|
|
#define _G_HAVE_SYS_CDEFS 1
|
|
#define _G_HAVE_SYS_WAIT 1
|
|
#define _G_NEED_STDARG_H 1
|
|
#define _G_va_list __gnuc_va_list
|
|
|
|
#define _G_HAVE_PRINTF_FP 1
|
|
#define _G_HAVE_MMAP 1
|
|
#define _G_HAVE_LONG_DOUBLE_IO 1
|
|
#define _G_HAVE_IO_FILE_OPEN 1
|
|
#define _G_HAVE_IO_GETLINE_INFO 1
|
|
|
|
#define _G_IO_IO_FILE_VERSION 0x20001
|
|
|
|
/* This is defined by <bits/stat.h> if `st_blksize' exists. */
|
|
#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
|
|
|
|
#define _G_BUFSIZ 8192
|
|
|
|
/* These are the vtbl details for ELF. */
|
|
#define _G_NAMES_HAVE_UNDERSCORE 0
|
|
#define _G_VTABLE_LABEL_PREFIX "_vt."
|
|
#define _G_VTABLE_LABEL_HAS_LENGTH 1
|
|
|
|
|
|
#if defined __cplusplus || defined __STDC__
|
|
# define _G_ARGS(ARGLIST) ARGLIST
|
|
#else
|
|
# define _G_ARGS(ARGLIST) ()
|
|
#endif
|
|
|
|
#endif /* _G_config.h */
|