Print this page
7126 NSS_XbyY_FINI has too much logic for a function-like macro

*** 667,684 **** (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_PACKED_CRED_CHECK(buf, ruid, euid) (\ ((nss_pheader_t *)(buf))->p_ruid == (ruid) && \ ((nss_pheader_t *)(buf))->p_euid == (euid)) 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 *, --- 667,683 ---- (str)->returnval = 0, \ (str)->returnlen = 0, \ (str)->h_errno = 0, \ (str)->erange = 0) ! #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 *,