Mercurial > hg > nginx-quic
comparison src/os/win32/ngx_files.c @ 1693:f4eb04fd8579
use malloc() in ngx_win32_rename_file, set crit level instead of error
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 07 Dec 2007 19:57:13 +0000 |
parents | d3cbb96818f1 |
children | b5263e401884 |
comparison
equal
deleted
inserted
replaced
1692:2f091d33dcb3 | 1693:f4eb04fd8579 |
---|---|
199 return -1; | 199 return -1; |
200 } | 200 } |
201 | 201 |
202 | 202 |
203 ngx_int_t | 203 ngx_int_t |
204 ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool) | 204 ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log) |
205 { | 205 { |
206 u_char *name; | 206 u_char *name; |
207 ngx_int_t rc; | 207 ngx_int_t rc; |
208 ngx_uint_t collision; | 208 ngx_uint_t collision; |
209 ngx_atomic_uint_t num; | 209 ngx_atomic_uint_t num; |
210 | 210 |
211 name = ngx_palloc(pool, to->len + 1 + 10 + 1 + sizeof("DELETE")); | 211 name = ngx_alloc(to->len + 1 + 10 + 1 + sizeof("DELETE"), log); |
212 if (name == NULL) { | 212 if (name == NULL) { |
213 return NGX_ERROR; | 213 return NGX_ERROR; |
214 } | 214 } |
215 | 215 |
216 ngx_memcpy(name, to->data, to->len); | 216 ngx_memcpy(name, to->data, to->len); |
228 break; | 228 break; |
229 } | 229 } |
230 | 230 |
231 collision = 1; | 231 collision = 1; |
232 | 232 |
233 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed"); | 233 ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed"); |
234 } | 234 } |
235 | 235 |
236 if (MoveFile((const char *) from->data, (const char *) to->data) == 0) { | 236 if (MoveFile((const char *) from->data, (const char *) to->data) == 0) { |
237 rc = NGX_ERROR; | 237 rc = NGX_ERROR; |
238 | 238 |
239 } else { | 239 } else { |
240 rc = NGX_OK; | 240 rc = NGX_OK; |
241 } | 241 } |
242 | 242 |
243 if (DeleteFile((const char *) name) == 0) { | 243 if (DeleteFile((const char *) name) == 0) { |
244 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "DeleteFile() failed"); | 244 ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "DeleteFile() failed"); |
245 } | 245 } |
246 | 246 |
247 if (rc == NGX_ERROR) { | 247 if (rc == NGX_ERROR) { |
248 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed"); | 248 ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed"); |
249 } | 249 } |
250 | 250 |
251 /* mutex_unlock() */ | 251 /* mutex_unlock() */ |
252 | |
253 ngx_free(name); | |
252 | 254 |
253 return rc; | 255 return rc; |
254 } | 256 } |
255 | 257 |
256 | 258 |