[Mono-bugs] [Bug 487155] New: ILASM does not work with octal values in QSTRINGS

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Mar 20 08:10:18 EDT 2009


https://bugzilla.novell.com/show_bug.cgi?id=487155


           Summary: ILASM does not work with octal values in QSTRINGS
    Classification: Mono
           Product: Mono: Compilers
           Version: 2.2.x
          Platform: i686
        OS/Version: openSUSE 11.1
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: IL assembler
        AssignedTo: jankit at novell.com
        ReportedBy: stephen at gennard.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


Created an attachment (id=280899)
 --> (https://bugzilla.novell.com/attachment.cgi?id=280899)
Example of using Octal QSTRINGS

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.7)
Gecko/2009022800 SUSE/3.0.7-1.1.6 Firefox/3.0.7

ILASM does not work with octal values in QSTRINGS

QSTRING is a string surrounded by double quote (?) marks. Within the quoted
string the character "\" can be
used as an escape character, with "\t" representing a tab character, "\n"
representing a newline character, and
"\" followed by three octal digits representing a byte with that value. The "+"
operator can be used to
concatenate string literals. This way, a long string can be broken across
multiple lines by using "+" and a new
string on each line. An alternative is to use "\" as the last character in a
line, in which case, that character and
the line break following it are not entered into the generated string. Any
white space characters (space, linefeed,
carriage-return, and tab) between the "\" and the first non-white space
character on the next line are
ignored. [Note: To include a double quote character in a QSTRING, use an octal
escape sequence. end note]

[Example: The following result in strings that are equivalent to "Hello World
from CIL!":
    ldstr "Hello " + "World " +
            "from CIL!"
    and
        ldstr "Hello World\
            \040from CIL!"


Reproducible: Always

Steps to Reproduce:
1  ilasm octal.il
2. mono octal.exe
3. you will then see:
Hello World\040from CIL\012
Tab1\011Tab2\011\Tab3\011Tab4
10\01120\011\30\01140

Actual Results:  
Hello World\040from CIL\012
Tab1\011Tab2\011\Tab3\011Tab4
10\01120\011\30\01140

Expected Results:  
Hello World from CIL

Tab1    Tab2    Tab3    Tab4
10      20      30      40


Unfortunately these  octal strings are used by our compiler when concat'ing
non-ascii strings together, as we end up with a load of giberish.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list