introduce ngx_write_console() to support OEM code pages
Igor Sysoev
13 years ago
151 | 151 |
|
152 | 152 |
(void) ngx_sprintf(msg, "[%V]: ", &err_levels[level]);
|
153 | 153 |
|
154 | |
(void) ngx_write_fd(ngx_stderr, msg, p - msg);
|
|
154 |
(void) ngx_write_console(ngx_stderr, msg, p - msg);
|
155 | 155 |
}
|
156 | 156 |
|
157 | 157 |
|
|
223 | 223 |
|
224 | 224 |
ngx_linefeed(p);
|
225 | 225 |
|
226 | |
(void) ngx_write_fd(ngx_stderr, errstr, p - errstr);
|
|
226 |
(void) ngx_write_console(ngx_stderr, errstr, p - errstr);
|
227 | 227 |
}
|
228 | 228 |
|
229 | 229 |
|
231 | 231 |
}
|
232 | 232 |
|
233 | 233 |
|
|
234 |
ssize_t
|
|
235 |
ngx_write_console(ngx_fd_t fd, void *buf, size_t size)
|
|
236 |
{
|
|
237 |
u_long n;
|
|
238 |
|
|
239 |
(void) CharToOemBuff(buf, buf, size);
|
|
240 |
|
|
241 |
if (WriteFile(fd, buf, size, &n, NULL) != 0) {
|
|
242 |
return (size_t) n;
|
|
243 |
}
|
|
244 |
|
|
245 |
return -1;
|
|
246 |
}
|
|
247 |
|
|
248 |
|
234 | 249 |
ngx_int_t
|
235 | 250 |
ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log)
|
236 | 251 |
{
|
97 | 97 |
#define ngx_write_fd_n "WriteFile()"
|
98 | 98 |
|
99 | 99 |
|
|
100 |
ssize_t ngx_write_console(ngx_fd_t fd, void *buf, size_t size);
|
|
101 |
|
|
102 |
|
100 | 103 |
#define ngx_linefeed(p) *p++ = CR; *p++ = LF;
|
101 | 104 |
#define NGX_LINEFEED_SIZE 2
|
102 | 105 |
|