Problem wth mpf_asprintf (GMP 4.1.x, Visual C/C++ 6, Windows XP)
Bruce M. Axtens
bruce.axtens at gmail.com
Fri Jul 17 06:26:01 CEST 2009
In the following code, |buff| ends up containing not the contents of
|n1| but the address of it.
|#define F(x) mpf_t (x); mpf_init( (x) );
BSTR __stdcall FPRINT( BSTR p1, BSTR p2 ) {
USES_CONVERSION;
F(n1);
char * buff;
int i;
LPSTR sNum = W2A( p1 );
LPSTR sFmt = W2A( p2 );
mpf_set_str( n1, sNum, 10 );
i = gmp_asprintf( &buff, sFmt, n1 );
BSTR bResult = _com_util::ConvertStringToBSTR( buff );
free(buff);
return bResult;
}
|
for example, if I issue |FPRINT("1","%d")| (in VB6 via Typelib), I get
|1309932| which is the address of the n1 variable.
Any ideas?
Kind regards,
Bruce.
More information about the gmp-discuss
mailing list