compiler parser problem with the \x escape character

Hi,

I am using the command line compiler v8.61 and I have an issue with this code fragment:

1: int foo(char* blah);
2:
3: void foo2(void)
4: {
5: foo(“\xDE\xAD\xBE\xEF”);
6:
7: if ( foo(“\xc0\xff\xee\x00”) )
8: {
9: }
10:
11: }

Line 5 compiles with no problems.

Line 7 complains with the following:
invalid token near line 1 (text was '"')
invalid token near line 1 (text was 'c0')
invalid token near line 1 (text was 'ff')
invalid token near line 1 (text was 'ee')

I seem to have isolated it to the use of a \x escape character in an ‘if’ statement. Is anybody aware of this issue?

Thanks

John Minack
www.xtralis.com

This works fine for me in DC 10.54

Ok, thanks for the info.

Unfortunately, due to the cost of doing regression testing, we cannot go past version 8.xx.

Two other things I forgot to mention:

  1. I have noticed that these errors don’t come up when I use the IDE, only when I use the CL version.
  2. This is affecting ip.lib, Rabbit’s own library ( see line 1174).

seems easy enough to work around,

temp_boolean = foo("\xc0\xff\xee\x00"); 
if ( temp_boolean ) {
   }