40 |
|
|
41 |
|
#ifdef _WIN32 |
42 |
|
#include <io.h> |
43 |
– |
#define snprintf printf_s |
43 |
|
#define read _read |
44 |
|
#define open _open |
45 |
|
#define close _close |
150 |
|
char *t, fmt[EZXML_ERRL]; |
151 |
|
|
152 |
|
for (t = root->s; t < s; t++) if (*t == '\n') line++; |
153 |
< |
snprintf(fmt, EZXML_ERRL, "[error near line %d]: %s", line, err); |
153 |
> |
sprintf(fmt, "[error near line %d]: %s", line, err); |
154 |
|
|
155 |
|
va_start(ap, err); |
156 |
|
vsnprintf(root->err, EZXML_ERRL, fmt, ap); |
170 |
|
char *e, *r = s, *m = s; |
171 |
|
long b, c, d, l; |
172 |
|
|
173 |
< |
for (; *s; s++) { /* normalize line endings */ |
174 |
< |
while (*s == '\r') { |
175 |
< |
*(s++) = '\n'; |
176 |
< |
if (*s == '\n') memmove(s, (s + 1), strlen(s)); |
177 |
< |
} |
178 |
< |
} |
173 |
> |
for (; *s; s++) /* normalize line endings */ |
174 |
> |
if (*s == '\r') { |
175 |
> |
char *s2 = s+1; |
176 |
> |
do { |
177 |
> |
while (*s2 == '\r') |
178 |
> |
++s2; |
179 |
> |
*s++ = *s2; |
180 |
> |
} while (*s2++); |
181 |
> |
break; |
182 |
> |
} |
183 |
|
|
184 |
|
for (s = r; ; ) { |
185 |
|
while (*s && *s != '&' && (*s != '%' || t != '%') && !isspace(*s)) s++; |