I'd like to see the exact error message when you try to do this.  An
int * can most certainly be cast to a char * in C++.  And you can
generally get around this by doing (char *)(void *) in the casts.  I
suspect there's something else going on here, which is why I'd like to
see the exact error message.

Rick

On Fri, Jan 8, 2010 at 11:08 AM, David Ashley
<[email protected]> wrote:
> 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
>

------------------------------------------------------------------------------
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

Reply via email to