From 13356a0cb532b646421e0169aef11d1bd25e89f8 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 10 Mar 2009 12:02:07 +0100 Subject: [PATCH] Moved errno utility declarations to errno.h. --- include/yaz/Makefile.am | 2 +- include/yaz/errno.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++ include/yaz/nmem.h | 16 ------------ src/errno.c | 7 ++--- 4 files changed, 71 insertions(+), 20 deletions(-) create mode 100644 include/yaz/errno.h diff --git a/include/yaz/Makefile.am b/include/yaz/Makefile.am index de02222..cf41239 100644 --- a/include/yaz/Makefile.am +++ b/include/yaz/Makefile.am @@ -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 index 0000000..d05f3f3 --- /dev/null +++ b/include/yaz/errno.h @@ -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_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 + */ + diff --git a/include/yaz/nmem.h b/include/yaz/nmem.h index 901b118..8e9add0 100644 --- a/include/yaz/nmem.h +++ b/include/yaz/nmem.h @@ -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 diff --git a/src/errno.c b/src/errno.c index 6cadb04..3beb6dd 100644 --- a/src/errno.c +++ b/src/errno.c @@ -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 #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 #include #include -#include +#include #ifdef WIN32 #include -- 1.7.10.4