>  I think you're actual question is if zero-characters are prohibited,
>  and I think the answer is no.

Yes, that was exactly my question.

>  In any event, you can use
>  sqlite3_value_bytes() to find out the length of the text value
>  returned.  That is, however BYTES, not CHARACTERS.

Oh, totally missed sqlite3_value_bytes() function. So then my
suggestion to Israel that I wanted to write in the first place still
stands: to be more generic you should never use strlen() function, use
sqlite3_value_bytes() instead.


Pavel

On Wed, Mar 17, 2010 at 4:49 PM, Jay A. Kreibich <j...@kreibi.ch> wrote:
> On Wed, Mar 17, 2010 at 04:36:02PM -0400, Pavel Ivanov scratched on the wall:
>> > ?You can't do pointer math with values returned by strlen().
>>
>> BTW, I see that SQLite has sqlite3_value_text() function but has no
>> sqlite3_value_text_len() function. Is it explicitly mentioned
>> somewhere that '\0' bytes in the middle of the text are prohibited? It
>> seems that sqlite3_bind_text() doesn't put that kind of restriction.
>
>  sqlite3_value_text() always returns UTF8.  UTF8 cannot contain a
>  zero-valued byte that is not a zero-valued character.
>
>  I think you're actual question is if zero-characters are prohibited,
>  and I think the answer is no.
>
>  Values returned by _text() are always zero-terminated, but I'm not
>  sure there is anything stopping you from entering a string with a
>  null character in the middle (assuming you pass in an explicit
>  length to sqlite3_bind_text()).  In any event, you can use
>  sqlite3_value_bytes() to find out the length of the text value
>  returned.  That is, however BYTES, not CHARACTERS.
>
>   -j
>
> --
> Jay A. Kreibich < J A Y  @  K R E I B I.C H >
>
> "Our opponent is an alien starship packed with atomic bombs.  We have
>  a protractor."   "I'll go home and see if I can scrounge up a ruler
>  and a piece of string."  --from Anathem by Neal Stephenson
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to