Changeset 24645


Ignore:
Timestamp:
2015-02-20T09:15:50+01:00 (9 years ago)
Author:
sjoelund.se
Message:

#3166 Escape \r in C strings

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/runtime/systemimpl.c

    r24537 r24645  
    27852785    j = 0;
    27862786    for (i=0; i<n; i++) {
    2787       if (buffer[i] == '\n') {
     2787      switch (buffer[i]) {
     2788      case '\n':
    27882789        obuffer[j++] = '\\';
    27892790        obuffer[j++] = 'n';
    2790       } else if (buffer[i] == '\\') {
     2791        break;
     2792      case '\r':
     2793        obuffer[j++] = '\\';
     2794        obuffer[j++] = 'r';
     2795        break;
     2796      case '\\':
    27912797        obuffer[j++] = '\\';
    27922798        obuffer[j++] = '\\';
    2793       } else if (buffer[i] == '"') {
     2799        break;
     2800      case '"':
    27942801        obuffer[j++] = '\\';
    27952802        obuffer[j++] = '"';
    2796       } else {
     2803        break;
     2804      default:
    27972805        obuffer[j++] = buffer[i];
    27982806      }
Note: See TracChangeset for help on using the changeset viewer.