Ethereal-dev: Re: [Ethereal-dev] Re: rev 15660: /trunk/plugins/asn1/: packet-asn1.c /trunk/epa

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Thomas Steffen <steffen.list.account@xxxxxxxxx>
Date: Sat, 3 Sep 2005 20:41:34 +0200
Ok, so this is not really my business, since I am only working on a few dissectors. Tell me which API is should use, and I'll do it. However...

On 9/2/05, Guy Harris <gharris@xxxxxxxxx> wrote:
W. Borgert wrote:

> What is wrong with glib?

Actually, that does not matter. For a project as portable as Ethereal, you need a well defined API to rely on. The C standard library is not nearly well defined enough. POSIX might be nice in theory, but it is neither complete enough nor implemented well enough on most target systems. So you need a runtime environment like nspr, glib or apr. Unless any other API is more suitable, or you define your own, there is no way to get rid of glib.

For one thing, it has the philosophy that memory allocators that abort
the program if a memory allocation fails is OK.

For every system with virtual memory, that is a very reasonable approach. Linux even goes around and kills random processes if it runs out of (virtual!) memory...

And now the constructive part: say which API should be used. Define on the lowest glib version support. Point to the reference documentation. Say which glib (or C library) calls are not acceptable. And then tell dissector writer to do exactly that.

Thomas