Error in qsort function in Programming Pearls?
        Posted  
        
            by Dervin Thunk
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Dervin Thunk
        
        
        
        Published on 2009-07-02T02:04:48Z
        Indexed on 
            2010/05/13
            9:44 UTC
        
        
        Read the original article
        Hit count: 316
        
Hello, is it just me or this code in Programming Pearls is wrong (quicksort wants 2 const voids, no?) If so, is my solution right? Apologies, just learning...
int wordncmp(char *p, char* q)
{   int n = k;
    for ( ; *p == *q; p++, q++)
    	if (*p == 0 && --n == 0)
    		return 0;
    return *p - *q;
}
int sortcmp(char **p, char **q)
{   return wordncmp(*p, *q);
}
...
qsort(word, nword, sizeof(word[0]), sortcmp);
Is this a solution?
int sortcmp(const void *p, const void *q)
{   return wordncmp(* (char * const *) p, * (char * const *) q);
}
        © Stack Overflow or respective owner