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.-
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.