compare: don't call qsort on NULL array
compare: don't call qsort on NULL array

This works in practice but is explicitly forbidden in C99, C11 and C17 alike:

> 7.20.5/7.22.5 Searching and sorting utilities
>
> [...] Where an argument declared as size_t nmemb specifies the length
> of the array for a function, nmemb can have the value zero on a call to
> that function; the comparison function is not called, [...] and sorting
> performs no rearrangement. Pointer arguments on such a call shall still
> have valid values, as described in 7.1.4.

> 7.1.4 Use of library functions
>
> [...] If an argument to a function has an invalid value (such as [...]
> a null pointer [...]) [...], the behavior is undefined. If a function
> argument is described as being an array, the pointer actually passed
> to the function shall have a value such that all address computations
> and accesses to objects (that would be valid if the pointer did point
> to the first element of such an array) are in fact valid.

In contrast, qsort_s explicitly allows the array pointer argument to be
NULL when nmemb == 0 (see C11/C17 K.3.6.3 Searching and sorting utilities).

Fixes CID 402901 found by Coverity Scan.

astiob/libass,astiob/libass,libass/libass,libass/libass