Re: [patch] dlib cleanup
Jorge Arellano Cid <[email protected]>
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Jun 03, 2012 at 05:52:43PM +0400, 123 wrote: > On Sat, Jun 02, 2012 at 05:23:52PM -0400, Jorge Arellano Cid wrote: > > Hi, > > > > On Sun, Jun 03, 2012 at 12:13:41AM +0400, 123 wrote: > > > malloc.diff: added perror calls for malloc and realloc errors > > > > > > dstr.diff: dStr* functions cleanup > > > > > > dlist.diff: replaced recursive QuickSort with qsort from stdlib.h. > > > Tested with file.dpi where it is used for sorting directory listing. > > > > There're different criteria to write code. In dlib, a few lines > > are preferred to a single contracted one to make it simpler to > > understand. In the same spirit, scattered return statements are avoided > > to make code path following simpler. > > What about perror in malloc? It is still better than silent exit(1). Yes, it looks better. Some C libs leave errno unset, and others always set it to ENOMEM. Please excuse my ignorance, but what other error conditions may malloc return? > > For quick sort I remember having to implement it in dlib because > > stdlib's qsort varies among platforms. > > I can only find reports about problems in Solaris qsort related to > performance. There should be no known problems in platforms listed on > http://www.dillo.org/Compatibility.html and qsort is a part of > POSIX/SUS. > > qsort is also used in lout/container.cc so broken qsort will break > dillo anyway. AFAIR, there were some qsort receiving different types of arguments or behaving a bit different with some special border cases. I'll try to find what was it in the archives... Non uniform treatment in dlib/dillo is a bug. Unless we know that in container.cc we don't ever fall in one of the special cases. -- Cheers Jorge.-