about summary refs log tree commit diff
path: root/locale/programs
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-05 07:47:25 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-05 07:47:25 +0000
commit72c743750c2a76df3611aa9a77ba72edefa2fb88 (patch)
tree7c3d82137a6a8ef9a830341c8fff007133fa9bd0 /locale/programs
parentf4aa71f4250923db875eb7df2d990020e1f5e2a3 (diff)
downloadglibc-72c743750c2a76df3611aa9a77ba72edefa2fb88.tar.gz
glibc-72c743750c2a76df3611aa9a77ba72edefa2fb88.tar.xz
glibc-72c743750c2a76df3611aa9a77ba72edefa2fb88.zip
Update.
	* locale/programs/stringtrans.c: Removed.
	* locale/programs/stringtrans.h: Removed.

	* locale/findlocale.c (_nl_find_locale): Don't try using mmap is
	_POSIX_MAPPED_FILES is not defined.

	* locale/findlocale.c (_nl_find_locale): Correct memory allocation
	for loc_name copy.

	* locale/setlocale.c (new_composite_name): Use _nl_C_name and
	_nl_POSIX_name instead of "C" and "POSIX" strings.
Diffstat (limited to 'locale/programs')
-rw-r--r--locale/programs/stringtrans.c145
-rw-r--r--locale/programs/stringtrans.h38
2 files changed, 0 insertions, 183 deletions
diff --git a/locale/programs/stringtrans.c b/locale/programs/stringtrans.c
deleted file mode 100644
index b810129678..0000000000
--- a/locale/programs/stringtrans.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
-
-   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.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <assert.h>
-#include <stdlib.h>
-
-#include "charset.h"
-#include "stringtrans.h"
-
-
-/* Global variable.  */
-enum encoding_method encoding_method = ENC_UCS4;
-
-
-void *xmalloc (size_t __n);
-void *xrealloc (void *__p, size_t __n);
-
-
-#define ADDC(ch)							      \
-  do									      \
-    {									      \
-      char *cp;								      \
-      if (bufact + (encoding_method == ENC_UCS4 ? 4 : 1) >= bufmax)	      \
-	{								      \
-	  bufmax *= 2;							      \
-	  buf = xrealloc (buf, bufmax);					      \
-	}								      \
-      cp = &buf[bufact];						      \
-      if (encode_char (ch, &cp) < 0)					      \
-	{								      \
-	  free (buf);							      \
-	  return NULL;							      \
-	}								      \
-      bufact = cp - buf;						      \
-    }									      \
-  while (0)
-
-
-char *
-translate_string (char *str, struct charset_t *charset)
-{
-  char *buf;
-  size_t bufact = 0;
-  size_t bufmax = 56;
-
-  buf = (char *) xmalloc (bufmax);
-
-  while (str[0] != '\0')
-    {
-      char *tp;
-      unsigned int value;
-
-      if (str[0] != '<')
-	{
-	  ADDC (*str++);
-	  continue;
-	}
-
-      tp = &str[1];
-      while (tp[0] != '\0' && tp[0] != '>')
-	if (tp[0] == '\\')
-	  if (tp[1] != '\0')
-	    tp += 2;
-	  else
-	    ++tp;
-	else
-	  ++tp;
-
-      if (tp[0] == '\0')
-	{
-	  free (buf);
-	  return NULL;
-	}
-
-      value = charset_find_value (&charset->char_table, str + 1,
-				  tp - (str + 1));
-      if ((wchar_t) value == ILLEGAL_CHAR_VALUE)
-	{
-	  free (buf);
-	  return NULL;
-	}
-      else
-	/* Encode string using current method.  */
-	ADDC (value);
-
-      str = &tp[1];
-    }
-
-  ADDC ('\0');
-
-  return buf;
-}
-
-
-int
-encode_char (unsigned int value, char **cpp)
-{
-  switch (encoding_method)
-    {
-    case ENC_UCS1:
-      if (value > 255)
-	return -1;
-      *(*cpp)++ = (char) value;
-      break;
-
-    case ENC_UCS4:
-#if __BYTE_ORDER == __BIG_ENDIAN
-      *(*cpp)++ = (char) (value >> 24);
-      *(*cpp)++ = (char) ((value >> 16) & 0xff);
-      *(*cpp)++ = (char) ((value >> 8) & 0xff);
-      *(*cpp)++ = (char) (value & 0xff);
-#else
-      *(*cpp)++ = (char) (value & 0xff);
-      *(*cpp)++ = (char) ((value >>= 8) & 0xff);
-      *(*cpp)++ = (char) ((value >>= 8) & 0xff);
-      *(*cpp)++ = (char) ((value >>= 8) & 0xff);
-#endif
-      break;
-
-    default:
-      return -1;
-    }
-
-  return 0;
-}
diff --git a/locale/programs/stringtrans.h b/locale/programs/stringtrans.h
deleted file mode 100644
index 2237032f89..0000000000
--- a/locale/programs/stringtrans.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
-
-   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 _TRANSLATE_H
-#define _TRANSLATE_H 1
-
-enum encoding_method
-{
-  ENC_UCS1,
-  ENC_UCS4
-};
-
-
-extern enum encoding_method encoding_method;
-
-
-char *translate_string (char *__str, struct charset_t *__charset);
-
-int encode_char (unsigned int __value, char **__cpp);
-
-
-#endif /* translate.h */