Print this page
7126 NSS_XbyY_FINI has too much logic for a function-like macro
@@ -667,18 +667,17 @@
(str)->returnval = 0, \
(str)->returnlen = 0, \
(str)->h_errno = 0, \
(str)->erange = 0)
-#define NSS_XbyY_FINI(str) (\
- (str)->returnval == 0 && (str)->erange && (errno = ERANGE), \
- (str)->returnval)
+#define NSS_XbyY_FINI(str) _nss_XbyY_fini(str)
#define NSS_PACKED_CRED_CHECK(buf, ruid, euid) (\
((nss_pheader_t *)(buf))->p_ruid == (ruid) && \
((nss_pheader_t *)(buf))->p_euid == (euid))
+extern void *_nss_XbyY_fini(nss_XbyY_args_t *);
extern char **_nss_netdb_aliases(const char *, int, char *, int);
extern nss_status_t nss_default_key2str(void *, size_t, nss_XbyY_args_t *,
const char *, int, size_t *);
extern nss_status_t nss_packed_arg_init(void *, size_t, nss_db_root_t *,
nss_db_initf_t *, int *,