Re: [Rd] "warning: assignment discards qualifiers from pointer target type"

From: Duncan Murdoch <murdoch.duncan_at_gmail.com>
Date: Thu, 09 Jun 2011 07:43:20 -0400

On 11-06-09 7:27 AM, oliver wrote:
> On Wed, Jun 08, 2011 at 08:35:34PM -0400, Simon Urbanek wrote:

>>
>> On Jun 8, 2011, at 8:32 PM, oliver wrote:
>>
>>> On Thu, Jun 09, 2011 at 02:17:31AM +0200, oliver wrote:
>>> [...]
>>>> OK, I looked at this now.
>>>>
>>>> LENGTH() checks the length of the vector.
>>>>
>>>> Good to know this.
>>>>
>>>> So the problem of a vector of length 0 can be with any arguments of type SEXP,
>>>> hence I will need to check ANY arg on it's length.
>>>>
>>>> This is vital to stability under any situation.
>>>>
>>>> Thanks for this valuable hint!
>>>>
>>>> I will add checks for all my SEXP-args.
>>> [...]
>>>
>>> Hey, LENGTH() does not work with String-vectors! :(
>>>
>>
>> Of course it does ...
>>
>>
>

> It does not so on my R 2.10.1 installation.
>
>

> In the R-Shell I get:
>

> ==============================
> > length(c())
> [1] 0
> >
> ==============================
>

> So c() is vec of length 0.
>

> When I feed my readjpeg() with c() as filename arg,
>

> testing with:
> ====================================================
> if( LENGTH( filename_sexp )< 1 )
> {
> error("LENGTH( filename_sexp )< 1");
> //error("filename can't be vector of length 0");
> }
> else
> {
> error("LENGTH( filename_sexp ) is not< 1");
> }
> ====================================================
>
>

> I got:
> Error in readjpeg(filename = c()) : LENGTH( filename_sexp ) is not< 1
>
>

> You can explain why?

c() doesn't create a STRSXP, it is NULL, which is a NILSXP. LENGTH() doesn't work on that object. (I'd recommend using length() rather than LENGTH(); it's a function, not a macro, and it does give the expected answer.)

Duncan Murdoch



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 09 Jun 2011 - 11:45:38 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 09 Jun 2011 - 14:10:17 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive