From 8120bc2ba957fa78e04f6f5fc257c91a7f735e82 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 14 Feb 2010 10:00:49 +1100 Subject: [PATCH] s3-lib: use TYPESAFE_QSORT() in remaining s3 library code the sort_query_replies() in nmblib.c is a TODO. It uses a hack that treats a char* as a structure. I've left that one alone for now. --- source3/libads/dns.c | 2 +- source3/libsmb/libsmb_xattr.c | 3 +-- source3/libsmb/nmblib.c | 4 ++++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source3/libads/dns.c b/source3/libads/dns.c index 1765f95ca0e..2fa6f18c77e 100644 --- a/source3/libads/dns.c +++ b/source3/libads/dns.c @@ -563,7 +563,7 @@ static NTSTATUS ads_dns_lookup_srv( TALLOC_CTX *ctx, } } - qsort( dcs, idx, sizeof(struct dns_rr_srv), QSORT_CAST dnssrvcmp ); + TYPESAFE_QSORT(dcs, idx, dnssrvcmp ); *dclist = dcs; *numdcs = idx; diff --git a/source3/libsmb/libsmb_xattr.c b/source3/libsmb/libsmb_xattr.c index 27c3e123995..cbdca4e748c 100644 --- a/source3/libsmb/libsmb_xattr.c +++ b/source3/libsmb/libsmb_xattr.c @@ -145,8 +145,7 @@ sort_acl(SEC_ACL *the_acl) uint32 i; if (!the_acl) return; - qsort(the_acl->aces, the_acl->num_aces, sizeof(the_acl->aces[0]), - QSORT_CAST ace_compare); + TYPESAFE_QSORT(the_acl->aces, the_acl->num_aces, ace_compare); for (i=1;inum_aces;) { if (sec_ace_equal(&the_acl->aces[i-1], &the_acl->aces[i])) { diff --git a/source3/libsmb/nmblib.c b/source3/libsmb/nmblib.c index 1a2106675b4..150e1f6af9f 100644 --- a/source3/libsmb/nmblib.c +++ b/source3/libsmb/nmblib.c @@ -1232,6 +1232,10 @@ void sort_query_replies(char *data, int n, struct in_addr ip) putip(sort_ip, (char *)&ip); + /* TODO: + this can't use TYPESAFE_QSORT() as the types are wrong. + It should be fixed to use a real type instead of char* + */ qsort(data, n, 6, QSORT_CAST name_query_comp); } -- 2.34.1