Hummm..... CSTRING has always implied to me that a null-terminated buffer is being specified. That may be a wrong assumption on my part but that is what I thought.
In any case the compiler complains when the buffer specified to NewString is NOT a char * type. For instance, in my case it is an array of int types (int *). No matter how I try to force a type cast the compiler complains that it can not convert a int* to a char*. This is not a warning, it is a complier error message. This is why I take issue with CSTRING as the type for the first arg to NewString with a length specified. The compiler will not allow just any data type to be specified for the first argument. A void* type would allow any data types to be specified. David Ashley On 01/08/2010 09:56 AM, Rick McGuire wrote: > A CSTRING type is not an ASCII-Z string, it really just a const char * > type. What is the compiler error when you do the cast? Have you > tried using CSTRING for the cast type when you make the call? > > Rick > > On Fri, Jan 8, 2010 at 10:31 AM, David Ashley > <[email protected]> wrote: > >> Ok, Rick's suggestion to use BufferString instead works just fine. >> >> But, I do take issue with the API method >> >> RexxStringObject NewString(CSTRING s, size_t len) >> >> Since a size for the string is being specified and embedded nulls will >> be ignored the CSTRING type is not appropriate for the signature. I >> believe it should be void* instead. >> >> David Ashley >> >> On 01/07/2010 07:39 PM, Rick McGuire wrote: >> >>> Umm, there is a String conversion method that takes a length as well. >>> Also, if you can predict the maximum length ahead of time, you can >>> allocate a BufferString, read the data directly into the buffer string >>> and than convert this into a true string using the appopriate length. >>> The charin() function works this way if you'd like an example. >>> >>> Rick >>> >>> On Thu, Jan 7, 2010 at 7:11 PM, David Ashley<[email protected]> >>> wrote: >>> >>> >>>> Rick/Mark - >>>> >>>> I have come across a problem using the new C++ API. I have a buffer of >>>> data that I want to return from a method as a RexxString. The problem is >>>> that this buffer may contain embedded nulls, thus none of the >>>> String/CSTRING methods will work for the conversion. Is there a way to >>>> do this? >>>> >>>> David Ashley >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.Net email is sponsored by the Verizon Developer Community >>>> Take advantage of Verizon's best-in-class app development support >>>> A streamlined, 14 day to market process makes app distribution fast and >>>> easy >>>> Join now and get one step closer to millions of Verizon customers >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> _______________________________________________ >>>> Oorexx-devel mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>> >>>> >>>> >>> ------------------------------------------------------------------------------ >>> This SF.Net email is sponsored by the Verizon Developer Community >>> Take advantage of Verizon's best-in-class app development support >>> A streamlined, 14 day to market process makes app distribution fast and easy >>> Join now and get one step closer to millions of Verizon customers >>> http://p.sf.net/sfu/verizon-dev2dev >>> _______________________________________________ >>> Oorexx-devel mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>> >>> >>> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> Oorexx-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >> >> > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Oorexx-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/oorexx-devel > > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel
