strings that are not null-terminated
Marco Bodrato
bodrato at mail.dm.unipi.it
Mon Nov 12 17:00:33 UTC 2018
Ciao,
Il Ven, 9 Novembre 2018 3:04 pm, Trevor Spiteri ha scritto:
> Currently functions that take strings take null-terminated strings, e.g.
>
> int mpz_set_str (mpz_t rop, const char *str, int base);
>
> To use a substring of a larger string that cannot be modified, I have to
> copy the substring to a new allocation to add a null character at the
[...]
> For this use case, it would be convenient to have functions taking
> strings similarly to strncmp, e.g.
>
> int mpz_set_strn (mpz_t rop, const char *str, size_t n, int base);
You are right!
A comment in the code, since 2001, agrees with you:
https://gmplib.org/repo/gmp/file/8131acd678a8/mpq/set_str.c#l29
but currently the comment is still there.
Of course, the new allocation is a small cost asymptoticaly... at least
when base is not a power of 2.
Ĝis,
m
--
http://bodrato.it/papers/
More information about the gmp-discuss
mailing list