Unfortunately not. It would then be difficult to determine the "leftover"
output argument's value.
Also, when converting to UTF for example, there would be a risk of cutting
a UTF sequence in the middle if it doesn't fit into the "buffer" argument
when copying it from NSData.
Simply put, getBytes is more advanced than other NSString's methods.
Lubos
Dne 9. června 2013 0:08:40 Chan Maxthon <xcvi...@me.com> napsal:
Can you just dump it from -[NSString dataUsingEncoding:] which is way simpler?
发自我的 iPhone
在 2013-6-9,6:06,Luboš Doležel <lu...@dolezel.info> 写道:
> Hi,
> GNUstep's NSString currently lacks
getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
> (added in OS X 10.5).
> I wanted to implement this function, but GSFromUnicode()'s behavior is
not the best fit for this method:
> 1) it fails if the output buffer is too small - we don't want that in
this case
> 2) it doesn't tell you how many input characters were converted (which is
understandable because of 1)
> So I decided to use iconv() directly, which has a pitfall. I'd need to
access static members (EntrySupported) of Unicode.m to know the iconv
encoding's name etc. So I guess the iconv-related code (as attached) should
be moved into Unicode.m.
> ===============
> So I have a question: is it OK to write a function with declaration:
> BOOL GSFromUnicodePartial(NSStringEncoding enc, int options, unichar
**inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
> that wouldn't suffer from 1) and 2) and add it into
Source/Additions/Unicode.m next to GSFromUnicode()?
> -- Luboš Doležel
> <getBytes.patch>
> _______________________________________________
> Gnustep-dev mailing list
> Gnustep-dev@gnu.org
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev