[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