5 /* ---------------------------------------------------------------------- */
7 #define SAVE_STRING_COUNT 50
8 static void *strings
[SAVE_STRING_COUNT
];
11 /* ---------------------------------------------------------------------- */
17 if (strings
[nextstring
]) free (strings
[nextstring
]);
18 res
= strings
[nextstring
] = xmalloc (n
);
19 if (++nextstring
== SAVE_STRING_COUNT
) nextstring
= 0;
23 /* ---------------------------------------------------------------------- */
26 debugstr_an (LPCSTR src
, int n
)
30 if (!src
) return "(null)";
32 dst
= res
= gimme1 (n
* 4 + 10);
34 while (n
-- > 0 && *src
)
39 case '\n': *dst
++ = '\\'; *dst
++ = 'n'; break;
40 case '\r': *dst
++ = '\\'; *dst
++ = 'r'; break;
41 case '\t': *dst
++ = '\\'; *dst
++ = 't'; break;
42 case '"': *dst
++ = '\\'; *dst
++ = '"'; break;
43 case '\\': *dst
++ = '\\'; *dst
++ = '\\'; break;
45 if (c
>= ' ' && c
<= 126)
50 *dst
++ = '0' + ((c
>> 6) & 7);
51 *dst
++ = '0' + ((c
>> 3) & 7);
52 *dst
++ = '0' + ((c
>> 0) & 7);
67 /* ---------------------------------------------------------------------- */
72 return debugstr_an (s
, 80);
75 /* ---------------------------------------------------------------------- */
78 debugstr_wn (LPCWSTR src
, int n
)
82 if (!src
) return "(null)";
84 dst
= res
= gimme1 (n
* 4 + 10);
86 while (n
-- > 0 && *src
)
91 case '\n': *dst
++ = '\\'; *dst
++ = 'n'; break;
92 case '\r': *dst
++ = '\\'; *dst
++ = 'r'; break;
93 case '\t': *dst
++ = '\\'; *dst
++ = 't'; break;
94 case '"': *dst
++ = '\\'; *dst
++ = '"'; break;
95 case '\\': *dst
++ = '\\'; *dst
++ = '\\'; break;
97 if (c
>= ' ' && c
<= 126)
102 *dst
++ = '0' + ((c
>> 6) & 7);
103 *dst
++ = '0' + ((c
>> 3) & 7);
104 *dst
++ = '0' + ((c
>> 0) & 7);
119 /* ---------------------------------------------------------------------- */
122 debugstr_w (LPCWSTR s
)
124 return debugstr_wn (s
, 80);
127 /* ---------------------------------------------------------------------- */