diff options
| author | Toomas Soome <tsoome@me.com> | 2018-11-27 10:09:43 +0200 |
|---|---|---|
| committer | Toomas Soome <tsoome@me.com> | 2019-12-27 18:13:27 +0200 |
| commit | ef2333d135d7eeabe888ac20be8a501a394db591 (patch) | |
| tree | cf2f17dd54e1496f0665ced18be3e4bd03833b5d /usr/src/lib/print | |
| parent | cc98049dd80db1f6cbe13cbd4845c7a4f0e0c863 (diff) | |
| download | illumos-joyent-ef2333d135d7eeabe888ac20be8a501a394db591.tar.gz | |
12102 print: cast between incompatible function types
Reviewed by: C Fraire <cfraire@me.com>
Approved by: Robert Mustacchi <rm@fingolfin.org>
Diffstat (limited to 'usr/src/lib/print')
| -rw-r--r-- | usr/src/lib/print/libprint/common/ns.c | 2 | ||||
| -rw-r--r-- | usr/src/lib/print/libprint/common/ns.h | 4 | ||||
| -rw-r--r-- | usr/src/lib/print/libprint/common/ns_cmn_kvp.c | 47 | ||||
| -rw-r--r-- | usr/src/lib/print/libprint/common/ns_cmn_printer.c | 10 | ||||
| -rw-r--r-- | usr/src/lib/print/libprint/common/nss_ldap.c | 10 |
5 files changed, 34 insertions, 39 deletions
diff --git a/usr/src/lib/print/libprint/common/ns.c b/usr/src/lib/print/libprint/common/ns.c index 2384b5c129..c36da07344 100644 --- a/usr/src/lib/print/libprint/common/ns.c +++ b/usr/src/lib/print/libprint/common/ns.c @@ -79,7 +79,7 @@ ns_printer_destroy(ns_printer_t *printer) if (printer != NULL) { if (printer->attributes != NULL) { /* attributes */ list_iterate((void **)printer->attributes, - (VFUNC_T)ns_kvp_destroy); + ns_kvp_destroy); free(printer->attributes); } if (printer->aliases != NULL) { /* aliases */ diff --git a/usr/src/lib/print/libprint/common/ns.h b/usr/src/lib/print/libprint/common/ns.h index 0171b85b4b..8cf31f7abb 100644 --- a/usr/src/lib/print/libprint/common/ns.h +++ b/usr/src/lib/print/libprint/common/ns.h @@ -178,7 +178,7 @@ extern int ns_set_value(const char *, const void *, ns_printer_t *); extern int ns_set_value_from_string(const char *, const char *, ns_printer_t *); extern ns_kvp_t *ns_kvp_create(const char *, const char *); -extern void ns_kvp_destroy(ns_kvp_t *); +extern int ns_kvp_destroy(void *, __va_list); /* for BSD bindings only */ extern ns_bsd_addr_t *ns_bsd_addr_get_default(); @@ -194,8 +194,6 @@ extern void *string_to_value(const char *, char *); extern char *normalize_ns_name(char *); extern char *strncat_escaped(char *, char *, int, char *); - - #ifdef __cplusplus } #endif diff --git a/usr/src/lib/print/libprint/common/ns_cmn_kvp.c b/usr/src/lib/print/libprint/common/ns_cmn_kvp.c index 3fdacd7e5d..9a36ddceac 100644 --- a/usr/src/lib/print/libprint/common/ns_cmn_kvp.c +++ b/usr/src/lib/print/libprint/common/ns_cmn_kvp.c @@ -23,8 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /*LINTLIBRARY*/ #include <stdio.h> @@ -66,9 +64,11 @@ ns_kvp_create(const char *key, const char *value) return (kvp); } -void -ns_kvp_destroy(ns_kvp_t *kvp) +int +ns_kvp_destroy(void *arg, va_list arg1 __unused) { + ns_kvp_t *kvp = arg; + if (kvp != NULL) { if (kvp->key != NULL) free(kvp->key); @@ -76,6 +76,7 @@ ns_kvp_destroy(ns_kvp_t *kvp) free(kvp->value); free(kvp); } + return (0); } @@ -130,7 +131,7 @@ ns_r_get_value(const char *key, const ns_printer_t *printer, int level) /* find it right here */ if ((kvp = list_locate((void **)printer->attributes, - (COMP_T)ns_kvp_match_key, (void *)key)) != NULL) { + (COMP_T)ns_kvp_match_key, (void *)key)) != NULL) { void *value = string_to_value(key, kvp->value); /* fill in an empty printer for a bsdaddr */ @@ -153,13 +154,13 @@ ns_r_get_value(const char *key, const ns_printer_t *printer, int level) char **printers; for (printers = string_to_value((*attrs)->key, - (*attrs)->value); + (*attrs)->value); printers != NULL && *printers != NULL; printers++) { ns_printer_t *printer = - ns_printer_get_name(*printers, NULL); + ns_printer_get_name(*printers, NULL); - if ((value = ns_r_get_value(key, printer, - level)) != NULL) + value = ns_r_get_value(key, printer, level); + if (value != NULL) return (value); ns_printer_destroy(printer); } @@ -167,18 +168,18 @@ ns_r_get_value(const char *key, const ns_printer_t *printer, int level) ns_printer_t **printers; for (printers = string_to_value((*attrs)->key, - (*attrs)->value); + (*attrs)->value); printers != NULL && *printers != NULL; printers++) { - if ((value = ns_r_get_value(key, *printers, - level)) != NULL) + value = ns_r_get_value(key, *printers, level); + if (value != NULL) return (value); } } else if (strcmp((*attrs)->key, NS_KEY_USE) == 0) { char *string = NULL; ns_printer_t *printer = - ns_printer_get_name((*attrs)->value, NULL); - if ((value = ns_r_get_value(key, printer, - level)) != NULL) + ns_printer_get_name((*attrs)->value, NULL); + value = ns_r_get_value(key, printer, level); + if (value != NULL) string = value_to_string(string, value); if (string != NULL) value = string_to_value(key, string); @@ -223,7 +224,7 @@ int ns_set_value(const char *key, const void *value, ns_printer_t *printer) { return (ns_set_value_from_string(key, - value_to_string(key, (void *)value), printer)); + value_to_string(key, (void *)value), printer)); } @@ -233,24 +234,22 @@ ns_set_value(const char *key, const void *value, ns_printer_t *printer) */ int ns_set_value_from_string(const char *key, const char *string, - ns_printer_t *printer) + ns_printer_t *printer) { if (printer == NULL) return (-1); - if (key == NULL) - list_iterate((void **)printer->attributes, - (VFUNC_T)ns_kvp_destroy); - else { + if (key == NULL) { + list_iterate((void **)printer->attributes, ns_kvp_destroy); + } else { ns_kvp_t *kvp; if (((kvp = list_locate((void **)printer->attributes, - (COMP_T)ns_kvp_match_key, - (void *)key)) == NULL) && + (COMP_T)ns_kvp_match_key, (void *)key)) == NULL) && ((kvp = calloc(1, sizeof (*kvp))) != NULL)) { kvp->key = strdup(key); printer->attributes = (ns_kvp_t **) - list_append((void **)printer->attributes, kvp); + list_append((void **)printer->attributes, kvp); } if (string != NULL) kvp->value = strdup(string); diff --git a/usr/src/lib/print/libprint/common/ns_cmn_printer.c b/usr/src/lib/print/libprint/common/ns_cmn_printer.c index 42a1fa350c..2b8e6336dc 100644 --- a/usr/src/lib/print/libprint/common/ns_cmn_printer.c +++ b/usr/src/lib/print/libprint/common/ns_cmn_printer.c @@ -109,17 +109,19 @@ ns_printer_match_name(ns_printer_t *printer, const char *name) } -static void -_ns_append_printer_name(const char *name, va_list ap) +static int +_ns_append_printer_name(void *arg, va_list ap) { + const char *name = arg; char *buf = va_arg(ap, char *); int bufsize = va_arg(ap, int); if (name == NULL) - return; + return (0); (void) strlcat(buf, name, bufsize); (void) strlcat(buf, "|", bufsize); + return (0); } /* @@ -145,7 +147,7 @@ ns_printer_name_list(const ns_printer_t *printer) } list_iterate((void **)printer->aliases, - (VFUNC_T)_ns_append_printer_name, buf, sizeof (buf)); + _ns_append_printer_name, buf, sizeof (buf)); buf[strlen(buf) - 1] = '\0'; diff --git a/usr/src/lib/print/libprint/common/nss_ldap.c b/usr/src/lib/print/libprint/common/nss_ldap.c index c2140d5048..193ba50f77 100644 --- a/usr/src/lib/print/libprint/common/nss_ldap.c +++ b/usr/src/lib/print/libprint/common/nss_ldap.c @@ -23,8 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -173,7 +171,7 @@ static void _freeList(char ***list); static NSL_RESULT _modAttrKVP(char *value, char ***kvpList); static NSL_RESULT _attrAddKVP(LDAPMod ***attrs, char **kvpList, int kvpExists); static int _manageReferralCredentials(LDAP *ld, char **dn, char **credp, - int *methodp, int freeit); + int *methodp, int freeit, void *); /* * ***************************************************************************** @@ -483,9 +481,8 @@ _connectToLDAP(ns_cred_t *cred, LDAP **ld) */ (void) _manageReferralCredentials(*ld, &(cred->binddn), &(cred->passwd), - &tmpMethod, -1); + &tmpMethod, -1, NULL); ldap_set_rebind_proc(*ld, - (LDAP_REBINDPROC_CALLBACK *) _manageReferralCredentials, NULL); if (lresult != LDAP_SUCCESS) @@ -2417,8 +2414,7 @@ _attrAddKVP(LDAPMod ***attrs, char **kvpList, int kvpExists) * ***************************************************************************** */ static int _manageReferralCredentials(LDAP *ld, char **dn, char **credp, - int *methodp, int freeit) - + int *methodp, int freeit, void *arg __unused) { int result = 0; static char *sDN = NULL; |
