about summary refs log tree commit diff
path: root/iconv/iconv_close.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-11-24 02:08:40 +0000
committerUlrich Drepper <drepper@redhat.com>1997-11-24 02:08:40 +0000
commite34b0f2902588bbbfaf55829692e32c3c7134b74 (patch)
tree3d74df649b5b0bf80b4f6070e360f405516caec5 /iconv/iconv_close.c
parentf43ce637b5f35b350b4dff6810dd6a7421fbb952 (diff)
downloadglibc-e34b0f2902588bbbfaf55829692e32c3c7134b74.tar.gz
glibc-e34b0f2902588bbbfaf55829692e32c3c7134b74.tar.xz
glibc-e34b0f2902588bbbfaf55829692e32c3c7134b74.zip
1997-11-24 03:01  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-support.c: Call __libc_init_secure to make sure
	__libc_enable_secure is defined early.
	* sysdeps/generic/enbl-secure.c: Change function name to
	__libc_init_secure and make it global instead of a constructor.

	* iconv/gconv.c: Fix lots of bugs.
	* iconv/gconv.h: Likewise.
	* iconv/gconv_builtin.h: Likewise.
	* iconv/gconv_close.c: Likewise.
	* iconv/gconv_conf.c: Likewise.
	* iconv/gconv_db.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* iconv/gconv_open.c: Likewise.
	* iconv/gconv_simple.c: Likewise.
	* iconv/iconv.c: Likewise.
	* iconv/iconv_close.c: Likewise.
	* iconv/iconv_open.c: Likewise.

	* wcsmbs/Makefile (routines): Add wmemrtowcs and wmemrtombs.
	* wcsmbs/wchar.h: Add prototypes for wmemrtowcs and wmemrtombs.
	* wcsmbs/wmemrtombs.c: New file.
	* wcsmbs/wmemrtowcs.c: New file.
Diffstat (limited to 'iconv/iconv_close.c')
-rw-r--r--iconv/iconv_close.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/iconv/iconv_close.c b/iconv/iconv_close.c
index d3123e21d8..ccd9d5f3ad 100644
--- a/iconv/iconv_close.c
+++ b/iconv/iconv_close.c
@@ -18,6 +18,7 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <iconv.h>
 
 #include <gconv.h>
@@ -26,5 +27,11 @@
 int
 iconv_close (iconv_t cd)
 {
+  if (cd == (iconv_t *) -1L)
+    {
+      __set_errno (EBADF);
+      return -1;
+    }
+
   return __gconv_close ((gconv_t) cd) ? -1 : 0;
 }