
On Mon, Aug 04, 2008 at 07:46:05AM +0200, Toth Istvan wrote:
On Sun, 2008-08-03 at 05:56 -0400, Daniel Veillard wrote:
How is it smaller code ?
Actually, that's not the new-style code, It's just the bugfixed one. I have not converted that file yet.
heh, okay :-)
To see the new style code, look at the *Storage*.c files.
A similar function looks like this there:
JNIEXPORT jlong JNICALL Java_org_libvirt_StoragePool__1storageVolCreateXML (JNIEnv *env, jobject obj, jlong VSPP, jstring xmlDesc, jint flags){ return generic_CreateDefineXML_with_flags(env, obj, VSPP, xmlDesc, flags, (void* (*)(void*, const char *, unsigned int))&virStorageVolCreateXML); }
ah, yes, I see now !
It seems to be that the old code didn't ever tried to free allocated strings and the new one does, which is the explanation of the code grows. I would side with Chris on the usage of macros instead of call like this. There is 2 reasons one is the readability, but also the static type checking.
Actually, the old-style function does static type checking, it's just new style that suffers there.
Using macros is a great idea, that may get rid of all those nasty casts.
yes that's probably the best alternative, thanks ! Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/