On Mon, Jul 27, 2009 at 09:53:23AM -0400, Stephen Gallagher wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 07/24/2009 05:05 PM, Sumit Bose wrote: > > Hi, > > > > we regular use functions returning errno error code like ENOMEN or > > EINVAL. The return type of these functions is usually int. To underline > > that the return code is only an error code and should not be used > > otherwise a special type can be used. There is the ISO/ICE technical > > report 24731-1 which recommends they type errno_t for this purpose. I > > think it makes sense to stick with this recommendation (and I hope > > people don't mind that the same TR also recommends the not so smart *_s > > replacements for most of the standard libc functions). > > > > The attached patch add a configure check for errno_t and defines it if > > not present in the system. > > > > bye, > > Sumit > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Freeipa-devel mailing list > > freeipa-de...@redhat.com > > https://www.redhat.com/mailman/listinfo/freeipa-devel > > Nack. > > Please include a patch that modifies the configure scripts of the > sss_client and common directories. >
I have include the check in the sss_client directory, but I'm reluctant to add it to common, too. IMO the maintainers of the packages should decide if errno_t makes sense for them or not. A second argument would be that in most cases there is no private header file where the typedef can be added. bye, Sumit
>From 43d76a38e907f3d7cc3e7cbdd5695286de3b08de Mon Sep 17 00:00:00 2001 From: Sumit Bose <sb...@redhat.com> Date: Wed, 26 Aug 2009 13:18:19 +0200 Subject: [PATCH] add configure check for errno_t --- server/configure.ac | 2 ++ server/util/util.h | 4 ++++ sss_client/configure.ac | 2 ++ sss_client/sss_cli.h | 4 ++++ 4 files changed, 12 insertions(+), 0 deletions(-) diff --git a/server/configure.ac b/server/configure.ac index d42f07e..071ad07 100644 --- a/server/configure.ac +++ b/server/configure.ac @@ -31,6 +31,8 @@ AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes]) AC_CHECK_HEADERS(stdint.h dlfcn.h) AC_CONFIG_HEADER(config.h) +AC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]]) + m4_include([build_macros.m4]) BUILD_WITH_SHARED_BUILD_DIR diff --git a/server/util/util.h b/server/util/util.h index 8796529..e312341 100644 --- a/server/util/util.h +++ b/server/util/util.h @@ -15,6 +15,10 @@ #include "tevent.h" #include "ldb.h" +#ifndef HAVE_ERRNO_T +typedef int errno_t; +#endif + extern const char *debug_prg_name; extern int debug_level; extern int debug_timestamps; diff --git a/sss_client/configure.ac b/sss_client/configure.ac index df16641..01c717d 100644 --- a/sss_client/configure.ac +++ b/sss_client/configure.ac @@ -13,6 +13,8 @@ AM_GNU_GETTEXT_VERSION([0.14]) AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes]) +AC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]]) + m4_pattern_allow([AM_SILENT_RULES]) AM_SILENT_RULES diff --git a/sss_client/sss_cli.h b/sss_client/sss_cli.h index f1ccba9..857a1cd 100644 --- a/sss_client/sss_cli.h +++ b/sss_client/sss_cli.h @@ -15,6 +15,10 @@ #include <pwd.h> #include <grp.h> +#ifndef HAVE_ERRNO_T +typedef int errno_t; +#endif + #define SSS_NSS_PROTOCOL_VERSION 1 #define SSS_PAM_PROTOCOL_VERSION 2 -- 1.6.2.5
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/sssd-devel