summaryrefslogtreecommitdiff
path: root/usr/src/lib/print
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2018-11-27 10:09:43 +0200
committerToomas Soome <tsoome@me.com>2019-12-27 18:13:27 +0200
commitef2333d135d7eeabe888ac20be8a501a394db591 (patch)
treecf2f17dd54e1496f0665ced18be3e4bd03833b5d /usr/src/lib/print
parentcc98049dd80db1f6cbe13cbd4845c7a4f0e0c863 (diff)
downloadillumos-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.c2
-rw-r--r--usr/src/lib/print/libprint/common/ns.h4
-rw-r--r--usr/src/lib/print/libprint/common/ns_cmn_kvp.c47
-rw-r--r--usr/src/lib/print/libprint/common/ns_cmn_printer.c10
-rw-r--r--usr/src/lib/print/libprint/common/nss_ldap.c10
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;