about summary refs log tree commit diff
path: root/stdio-common/_i18n_itowa.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-29 02:54:27 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-29 02:54:27 +0000
commit4295702fe36902ad82587748b918d828ce62c446 (patch)
tree538686004e11cb2af80a3be1e1fc5b95f859b4ff /stdio-common/_i18n_itowa.h
parent8217ddf5c6137488b6ea5b244f74c7668b800f83 (diff)
downloadglibc-4295702fe36902ad82587748b918d828ce62c446.tar.gz
glibc-4295702fe36902ad82587748b918d828ce62c446.tar.xz
glibc-4295702fe36902ad82587748b918d828ce62c446.zip
Update.
2000-01-28  Ulrich Drepper  <drepper@cygnus.com>

	* locale/C-monetary.c: Add initializers for new fields.
	* locale/C-numeric.c: Likewise.
	* locale/Makefile (distribute): Add indigits.h, indigitswc.h,
	outdigits.h, and outdigitswc.h.
	* locale/langinfo.h: Add _NL_MONETARY_DECIMAL_POINT_WC,
	_NL_MONETARY_THOUSANDS_SEP_WC, _NL_NUMERIC_DECIMAL_POINT_WC,
	and _NL_NUMERIC_THOUSANDS_SEP_WC.
	* locale/indigits.h: New file.
	* locale/indigitswc.h: New file.
	* locale/outdigits.h: New file.
	* locale/outdigitswc.h: New file.
	* locale/programs/ld-monetary.c: Write out decimal point and
	thousands separator info in wide character form.
	* locale/programs/ld-numeric.c: Likewise.
	* stdio-common/Makefile (routines): Add _i18n_itoa and _i18n_itowa.
	(distribute): Add _i18n_itoa.h and _i18n_itowa.h.
	* stdio-common/_i18n_itoa.c: New file.
	* stdio-common/_i18n_itoa.h: New file.
	* stdio-common/_i18n_itowa.c: New file.
	* stdio-common/_i18n_itowa.h: New file.
	* stdio-common/printf-parse.h: Parse 'I' flag.
	* stdio-common/printf.h (struct printf_info): Add i18n field.
	* stdio-common/vfprintf.c: Implement 'I' flag to print using locales'
	outdigits.
Diffstat (limited to 'stdio-common/_i18n_itowa.h')
-rw-r--r--stdio-common/_i18n_itowa.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/stdio-common/_i18n_itowa.h b/stdio-common/_i18n_itowa.h
new file mode 100644
index 0000000000..f4b091e5f6
--- /dev/null
+++ b/stdio-common/_i18n_itowa.h
@@ -0,0 +1,41 @@
+/* Internal function for converting integers to string using locale
+   specific digits.
+   Copyright (C) 2000 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _I18N_ITOWA_H
+#define _I18N_ITOWA_H
+#include <sys/cdefs.h>
+
+#include "../locale/outdigitswc.h"
+
+
+extern wchar_t *_i18n_itowa (unsigned long long int value, wchar_t *buflim);
+
+static inline wchar_t *
+_i18n_itowa_word (unsigned long int value, wchar_t *buflim)
+{
+  do
+    *--buflim = outdigitwc_value (value % 10);
+  while ((value /= 10) != 0);					      \
+
+  return buflim;
+}
+
+#endif	/* _i18n_itoa.h */