Bonobo stream API mis-naming ...



Hi guys,

	It turns out ( despite this seeming to have caused no problem reports
in Gnome 1.4 ), that using 'truncate' as an element of a virtual method
table (eg.) is a serious problem:

	http://bugzilla.gnome.org/show_bug.cgi?id=90551

	Problem is - that the next API thaw when we could do this change is
inconcievably far away. It's quite easy to change all the methods to
include 'Bytes' or 'Stream' or some other bogus, redundant stuff so:

	'readBytes', 'writeBytes', 'truncateStream' etc.

	But that seems to suck quite badly;

	The problem is ( on Solaris ) things like:

> grep '[^f]truncate.*truncate64' /usr/include/unistd.h 
#pragma redefine_extname        truncate        truncate64
#define truncate                        truncate64

	Apparently; and yet seemingly gnome-vfs-method with it's:

struct GnomeVFSMethod {
	GnomeVFSMethodOpenFunc open;
	GnomeVFSMethodCreateFunc create;
	GnomeVFSMethodCloseFunc close;
	GnomeVFSMethodReadFunc read;
	GnomeVFSMethodWriteFunc write;
	GnomeVFSMethodSeekFunc seek;
	GnomeVFSMethodTellFunc tell;
...
	GnomeVFSMethodUnlinkFunc unlink;
...
	GnomeVFSMethodTruncateFunc truncate;

	Works ok ?

	So what is the story here ? Morten ? Sun people ? Why is someone doing
a #define foo baa when they could #define foo(a) baa(a) ?

	Regards,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]