External App connection to a GnuCash file
Christian Stimming
stimming at tuhh.de
Sun Sep 2 16:14:45 EDT 2007
Am Mittwoch, 29. August 2007 21:52 schrieb Josh Sled:
> "Daniel Espinosa" <esodan at gmail.com> writes:
> > I found a macro in /macros/legacy_macros.m4 witch test for sscanf to
> > support %lld (long long decimal integer) if so defines HAVE_SCANF_LLD.
> > I think this is supported in recent gcc versions, then I can safetly
> > define it in configure.in or remove this test in
> > /lib/libqof/qof/qofutil.h.
>
> I'm not 100% sure about the provenance of that code, but I'm pretty sure it
> should not be removed.
Josh is correct. The macro from legacy_macros.m4 turned out to be not legacy
at all, but it is in fact needed a lot. To be more precise, the gcc/libc
environment on Windows/mingw needs a different scanf() format character for
LLD than what gcc needs on Linux. The test in legacy_macros.m4 checks exactly
that. Hence, you need to copy the respective macro into your own application
as well.
On the other hand, the resulting format character itself is probably only
needed inside the gnucash/gncqof implementation and doesn't have to be
exposed to outside applications. Hence, in the long term this test probably
should have to be done by your external application, and in gnucash this
#ifdef check should be moved to an internal header file. Well, that's a
long-term goal.
Christian
More information about the gnucash-devel
mailing list