Changeset 139 for NEWT0/trunk
- Timestamp:
- 02/20/09 06:17:39 (3 years ago)
- File:
-
- 1 edited
-
NEWT0/trunk/src/newt_core/NewtPrint.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
NEWT0/trunk/src/newt_core/NewtPrint.c
r138 r139 33 33 34 34 static void NIOPrintIndent(newtStream_t * f, int32_t level); 35 static void NIOPrintEscapeStr(newtStream_t * f, char * str, int len );35 static void NIOPrintEscapeStr(newtStream_t * f, char * str, int len, char bar); 36 36 static void NIOPrintRef(newtStream_t * f, newtRefArg r); 37 37 static void NIOPrintSpecial(newtStream_t * f, newtRefArg r); … … 217 217 218 218 /*------------------------------------------------------------------------*/ 219 /** Convert a bunch characters into their escaped variant. 220 * This is required when printing symbols containing vertical bars. 221 * 222 * @param c [in] unicode character 223 * 224 * @return ASCII string or NULL 225 */ 226 227 char * NewtCharAndBarToEscape(int c) 228 { 229 if (c=='|') { 230 return "\\|"; 231 } else if (c=='\\') { 232 return "\\\\"; 233 } else { 234 return NewtCharToEscape(c); 235 } 236 } 237 238 239 /*------------------------------------------------------------------------*/ 219 240 /** 文字をエスケープ文字列に変換する 220 241 * … … 277 298 /** 文字列をエスケープでプリントする 278 299 * 279 * @param f [in] 出力ファイル300 * @param f [in] 出力ファイル 280 301 * @param str [in] 文字列 281 302 * @param len [in] 文字列の長さ 282 * 283 * @return なし 284 * 285 * @note newtStream_t を使用 286 */ 287 288 void NIOPrintEscapeStr(newtStream_t * f, char * str, int len) 303 * @param bar [in] set to 1 to also create an escape sequence 304 * for the vertical bar character 305 * 306 * @return なし 307 * 308 * @note newtStream_t を使用 309 */ 310 311 void NIOPrintEscapeStr(newtStream_t * f, char * str, int len, char bar) 289 312 { 290 313 bool unicode = false; … … 297 320 c = str[i]; 298 321 299 s = NewtCharToEscape(c); 322 if (bar) 323 s = NewtCharAndBarToEscape(c); 324 else 325 s = NewtCharToEscape(c); 300 326 301 327 if (s != NULL) … … 567 593 { 568 594 NIOFputc('|', f); 569 NIOPrintEscapeStr(f, sym->name, len );595 NIOPrintEscapeStr(f, sym->name, len, 1); 570 596 NIOFputc('|', f); 571 597 } … … 602 628 { 603 629 NIOFputc('"', f); 604 NIOPrintEscapeStr(f, s, len );630 NIOPrintEscapeStr(f, s, len, 0); 605 631 NIOFputc('"', f); 606 632 }
Note: See TracChangeset
for help on using the changeset viewer.
