|
[Date Index]
[Thread Index]
[Author Index]
Re: Does MLGetUTF8String() return a null-terminated string?
- To: mathgroup at smc.vnet.net
- Subject: [mg129856] Re: Does MLGetUTF8String() return a null-terminated string?
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Tue, 19 Feb 2013 00:58:26 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20130218110203.548426960@smc.vnet.net>
Hi,
yes, I'm pretty sure it does. When you look at the LibraryLink examples,
you see that LibraryLink uses UTF8 strings as well.
In the example code you find
char *instring = MArgument_getUTF8String(Args[0]);
char *substring = MArgument_getUTF8String(Args[1]);
mint i, n = strlen(instring);
mint slen = strlen(substring);
which doesn't uses the length but calls strlen instead. If the string is
not null-terminated, strlen would fail, because
how should it know whether the string is over if not by the final \0.
When MathLink and LibraryLink share the same Wolfram type (what they
hopefully do), you should be on the safe side.
Cheers
Patrick
On Feb 18, 2013, at 12:02 PM, Szabolcs Horv=E1t <szhorvat at gmail.com> wrote:
>
> Does the C MathLink function MLGetUTF8String() return a null-terminated
> string? The documentation does not say that it does and it returns the
> length of the string as well. But if it did, it would spare me some
> copying, as my target requires a null-terminated UTF-8 string.
>
>
Prev by Date:
Re: Stephen Wolfram's recent blog
Next by Date:
Re: Stephen Wolfram's recent blog
Previous by thread:
Does MLGetUTF8String() return a null-terminated string?
Next by thread:
Ingolf Dahl's "SetFaceAndFont" palette broken in Mathematica 9
|