Changeset 7026 for trunk/include/win/debugtools.h
- Timestamp:
- Oct 12, 2001, 5:20:41 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/debugtools.h
r6381 r7026 1 /* $Id: debugtools.h,v 1.17 2001-10-12 03:20:41 phaller Exp $ */ 1 2 2 3 #ifndef __WINE_DEBUGTOOLS_H … … 211 212 dst = res; 212 213 *dst++ = '"'; 213 while (n-- > 0 && *src) 214 215 // PH safety margin 10 characters, overwrites 216 // memory otherwise 217 while (n-- > 10 && *src) 218 { 219 BYTE c = *src++; 220 switch (c) 214 221 { 215 BYTE c = *src++; 216 switch (c) 217 { 218 case '\n': *dst++ = '\\'; *dst++ = 'n'; break; 219 case '\r': *dst++ = '\\'; *dst++ = 'r'; break; 220 case '\t': *dst++ = '\\'; *dst++ = 't'; break; 221 case '"': *dst++ = '\\'; *dst++ = '"'; break; 222 case '\\': *dst++ = '\\'; *dst++ = '\\'; break; 223 default: 224 if (c >= ' ' && c <= 126) 225 *dst++ = c; 226 else 227 { 228 *dst++ = '\\'; 229 *dst++ = '0' + ((c >> 6) & 7); 230 *dst++ = '0' + ((c >> 3) & 7); 231 *dst++ = '0' + ((c >> 0) & 7); 232 } 233 } 222 case '\n': *dst++ = '\\'; *dst++ = 'n'; break; 223 case '\r': *dst++ = '\\'; *dst++ = 'r'; break; 224 case '\t': *dst++ = '\\'; *dst++ = 't'; break; 225 case '"': *dst++ = '\\'; *dst++ = '"'; break; 226 case '\\': *dst++ = '\\'; *dst++ = '\\'; break; 227 default: 228 if (c >= ' ' && c <= 126) 229 *dst++ = c; 230 else 231 { 232 n -= 3; 233 *dst++ = '\\'; 234 *dst++ = '0' + ((c >> 6) & 7); 235 *dst++ = '0' + ((c >> 3) & 7); 236 *dst++ = '0' + ((c >> 0) & 7); 237 } 234 238 } 239 } 240 235 241 *dst++ = '"'; 242 236 243 if (*src) 237 238 239 240 241 244 { 245 *dst++ = '.'; 246 *dst++ = '.'; 247 *dst++ = '.'; 248 } 242 249 *dst++ = '\0'; 243 250 return res; … … 263 270 *dst++ = 'L'; 264 271 *dst++ = '"'; 265 while (n-- > 0 && *src) 272 273 // PH safety margin 10 characters, overwrites 274 // memory otherwise 275 while (n-- > 10 && *src) 276 { 277 WORD c = *src++; 278 switch (c) 266 279 { 267 WORD c = *src++; 268 switch (c) 269 { 270 case '\n': *dst++ = '\\'; *dst++ = 'n'; break; 271 case '\r': *dst++ = '\\'; *dst++ = 'r'; break; 272 case '\t': *dst++ = '\\'; *dst++ = 't'; break; 273 case '"': *dst++ = '\\'; *dst++ = '"'; break; 274 case '\\': *dst++ = '\\'; *dst++ = '\\'; break; 275 default: 276 if (c >= ' ' && c <= 126) 277 *dst++ = (char)c; 278 else 279 { 280 *dst++ = '\\'; 281 sprintf(dst,"%04x",c); 282 dst+=4; 283 } 284 } 280 case '\n': *dst++ = '\\'; *dst++ = 'n'; break; 281 case '\r': *dst++ = '\\'; *dst++ = 'r'; break; 282 case '\t': *dst++ = '\\'; *dst++ = 't'; break; 283 case '"': *dst++ = '\\'; *dst++ = '"'; break; 284 case '\\': *dst++ = '\\'; *dst++ = '\\'; break; 285 default: 286 if (c >= ' ' && c <= 126) 287 *dst++ = (char)c; 288 else 289 { 290 n -= 3; 291 *dst++ = '\\'; 292 sprintf(dst,"%04x",c); 293 dst+=4; 294 } 285 295 } 296 } 286 297 *dst++ = '"'; 287 298 if (*src) 288 289 290 291 292 299 { 300 *dst++ = '.'; 301 *dst++ = '.'; 302 *dst++ = '.'; 303 } 293 304 *dst++ = '\0'; 294 305 return res;
Note:
See TracChangeset
for help on using the changeset viewer.