Moved errno utility declarations to errno.h.
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 10 Mar 2009 11:02:07 +0000 (12:02 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 10 Mar 2009 11:02:07 +0000 (12:02 +0100)
include/yaz/Makefile.am
include/yaz/errno.h [new file with mode: 0644]
include/yaz/nmem.h
src/errno.c

index de02222..cf41239 100644 (file)
@@ -5,7 +5,7 @@ noinst_HEADERS = icu_I18N.h
 
 pkginclude_HEADERS= backend.h ccl.h ccl_xml.h cql.h rpn2cql.h comstack.h \
  diagbib1.h diagsrw.h diagsru_update.h sortspec.h log.h logrpn.h marcdisp.h \
- nmem.h nmem_xml.h odr.h \
+ nmem.h nmem_xml.h odr.h errno.h \
  options.h otherinfo.h pquery.h prt-ext.h querytowrbuf.h \
  readconf.h record_conv.h retrieval.h statserv.h \
  tcpip.h test.h timing.h unix.h tpath.h wrbuf.h xmalloc.h \
diff --git a/include/yaz/errno.h b/include/yaz/errno.h
new file mode 100644 (file)
index 0000000..d05f3f3
--- /dev/null
@@ -0,0 +1,66 @@
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 Index Data.
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Index Data nor the names of its contributors
+ *       may be used to endorse or promote products derived from this
+ *       software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * \file
+ * \brief Header for errno utilities
+ */
+#ifndef YAZ_ERRNO_H
+#define YAZ_ERRNO_H
+
+#include <yaz/yconfig.h>
+
+YAZ_BEGIN_CDECL
+
+/** \brief returns errno 
+    \returns errno value 
+*/
+YAZ_EXPORT int yaz_errno(void);
+
+/** \brief sets errno to value
+    \param v errno value
+*/
+YAZ_EXPORT void yaz_set_errno(int v);
+
+/** \brief returns system error description string
+    \param buf buffer for result
+    \param max maximum number of bytes to store
+*/
+YAZ_EXPORT void yaz_strerror(char *buf, int max);
+
+YAZ_END_CDECL
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
index 901b118..8e9add0 100644 (file)
@@ -124,22 +124,6 @@ YAZ_EXPORT void nmem_destroy(NMEM n);
  */
 YAZ_EXPORT void *nmem_malloc(NMEM n, int size);
 
-/** \brief returns errno 
-    \returns errno value 
-*/
-YAZ_EXPORT int yaz_errno(void);
-
-/** \brief sets errno to value
-    \param v errno value
-*/
-YAZ_EXPORT void yaz_set_errno (int v);
-
-/** \brief returns system error description string
-    \param buf buffer for result
-    \param max maximum number of bytes to store
-*/
-YAZ_EXPORT void yaz_strerror(char *buf, int max);
-
 YAZ_END_CDECL
 
 #endif
index 6cadb04..3beb6dd 100644 (file)
@@ -6,13 +6,14 @@
 /**
  * \file errno.c
  * \brief errno utilities
+ *
+ * This file unlike other files in YAZ core is thread-aware, due to
+ * the use errno.
  */
 #if HAVE_CONFIG_H
 #include <config.h>
 #endif
 
-/* prepare for threads.. even in non-threaded appliactions.
-   The yaz_errno/yaz_set_errno is part of core YAZ and shared */
 #ifndef _REENTRANT
 #define _REENTRANT
 #endif
@@ -21,7 +22,7 @@
 #include <string.h>
 #include <errno.h>
 #include <stddef.h>
-#include <yaz/nmem.h>
+#include <yaz/errno.h>
 
 #ifdef WIN32
 #include <windows.h>