Hi Leo, Thank you for the report. I do my development on openSuSE 11.4, not having upgraded yet. I'll upgrade in a week or two. Meanwhile,
On Wed, Nov 23, 2011 at 2:08 PM, Leo Davis <lda...@speechfxinc.com> wrote: > Hello, > > I'm getting a failure on string.test with autogen-5.13.0pre4, autogen-5.12, > and autogen-5.11.9 on openSUSE 12.1 x86_64. I'm using the source RPM files > to build the released versions, BTW. I've attached the entire contents of > the FAILURES directory for autogen-5.13.0pre4. I dug into this. It seems your version of Guile presumes that it is okay to silently remove the high-order bit from a string of characters because everybody knows that valid characters are in the range of 0x0a through 0x7E. Guile is being "helpful". When I started there was no notion of an array of bytes, now I must change all my string references to the array-of-bytes interfaces. *sigh*. Please apply the following patch to the agen5/test/string.test script. If this also fails, then replace the "177" with "176" (the '~' character). That *must* work. Your result means that it is no longer possible to reliably generate arbitrary arrays of bytes with autogen. Not until I figure out how to use the Guile array-of-bytes stuff anyway.... Regards, Bruce diff --git a/agen5/test/string.test b/agen5/test/string.test index 0439e6c..438dbd3 100755 --- a/agen5/test/string.test +++ b/agen5/test/string.test @@ -82,7 +82,8 @@ CASE (suffix) =][= =] _EOF_ -test -z "$LINENO" && LINENO=85 +test -z "$LINENO" && LINENO=` + grep -n FIND-THIS-LINE-NUMBER $0 | sed 's/:.*//'` # close enough printf '\nchar zTestFile[] = "%s";\n#line %s\n' \ ${testname}.raw `expr $LINENO + 4` >&4 @@ -94,13 +95,14 @@ char zExpect[] = "'\f\r\b\v\t\a\n\n" "\"Wow!\" This'll be \\hard\\'\n" "#endif /* .\n" "and it'll be a \"hassle\"." - "\001\002\003\377\n'"; + "\001\002\003\177\n'"; #define expectSize ((int)(sizeof(zExpect) - 1)) int checkStr( char* pz, char const* pzWhat ); int checkStr( char* pz, char const* pzWhat ) { static char const zNotMatch[] = "%s generated string mismatches at offset %d of %d\n" + "Expected char: 0x%02X saw char: 0x%02X\n" "Expected string:\n==>%s<==\n\n" "Generated string:\n-->%s<--\n\n"; @@ -116,8 +118,8 @@ int checkStr( char* pz, char const* pzWhat ) for (ix = 0; ix < expectSize; ix++) { if (*(pzE++) != *(pzR++)) { - fprintf( stderr, zNotMatch, pzWhat, ix, expectSize, - zExpect, pz ); + fprintf(stderr, zNotMatch, pzWhat, ix, expectSize, + (unsigned char)pzE[-1], (unsigned char)pzR[-1], zExpect, pz); return 1; } } @@ -217,7 +219,7 @@ string = \#endif /* . ' "and it'll be a \"hassle\"." - "\001\x02\X03\377\n'"; + "\001\x02\X03\177\n'"; _EOF_ ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Autogen-users mailing list Autogen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/autogen-users