Mercurial > hg > nginx
comparison src/os/win32/ngx_files.c @ 292:a472bfb778b3
nginx-0.0.3-2004-03-17-00:26:01 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 16 Mar 2004 21:26:01 +0000 |
parents | 87e73f067470 |
children | 6bdf858bff8c |
comparison
equal
deleted
inserted
replaced
291:117ccc7c4055 | 292:a472bfb778b3 |
---|---|
130 | 130 |
131 | 131 |
132 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *cl, | 132 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *cl, |
133 off_t offset, ngx_pool_t *pool) | 133 off_t offset, ngx_pool_t *pool) |
134 { | 134 { |
135 char *buf, *prev; | 135 u_char *buf, *prev; |
136 size_t size; | 136 size_t size; |
137 ssize_t total, n; | 137 ssize_t total, n; |
138 | 138 |
139 total = 0; | 139 total = 0; |
140 | 140 |
167 | 167 |
168 int ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool) | 168 int ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool) |
169 { | 169 { |
170 int rc, collision; | 170 int rc, collision; |
171 u_int num; | 171 u_int num; |
172 char *name; | 172 u_char *name; |
173 | 173 |
174 if (!(name = ngx_palloc(pool, to->len + 1 + 10 + 1 + sizeof("DELETE")))) { | 174 if (!(name = ngx_palloc(pool, to->len + 1 + 10 + 1 + sizeof("DELETE")))) { |
175 return NGX_ERROR; | 175 return NGX_ERROR; |
176 } | 176 } |
177 | 177 |
182 /* mutex_lock() (per cache or single ?) */ | 182 /* mutex_lock() (per cache or single ?) */ |
183 | 183 |
184 do { | 184 do { |
185 num = ngx_next_temp_number(collision); | 185 num = ngx_next_temp_number(collision); |
186 | 186 |
187 ngx_snprintf(name + to->len, 1 + 10 + 1 + sizeof("DELETE"), | 187 ngx_snprintf((char *) name + to->len, 1 + 10 + 1 + sizeof("DELETE"), |
188 ".%010u.DELETE", num); | 188 ".%010u.DELETE", num); |
189 | 189 |
190 if (MoveFile(to->data, name) == 0) { | 190 if (MoveFile((const char *) to->data, (const char *) name) == 0) { |
191 collision = 1; | 191 collision = 1; |
192 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, | 192 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, |
193 "MoveFile() failed"); | 193 "MoveFile() failed"); |
194 } | 194 } |
195 | 195 |
196 } while (collision); | 196 } while (collision); |
197 | 197 |
198 if (MoveFile(from->data, to->data) == 0) { | 198 if (MoveFile((const char *) from->data, (const char *) to->data) == 0) { |
199 rc = NGX_ERROR; | 199 rc = NGX_ERROR; |
200 | 200 |
201 } else { | 201 } else { |
202 rc = NGX_OK; | 202 rc = NGX_OK; |
203 } | 203 } |
204 | 204 |
205 if (ngx_win32_version >= NGX_WIN_NT) { | 205 if (ngx_win32_version >= NGX_WIN_NT) { |
206 if (DeleteFile(name) == 0) { | 206 if (DeleteFile((const char *) name) == 0) { |
207 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, | 207 ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, |
208 "DeleteFile() failed"); | 208 "DeleteFile() failed"); |
209 } | 209 } |
210 | 210 |
211 } else { | 211 } else { |
245 } | 245 } |
246 | 246 |
247 #endif | 247 #endif |
248 | 248 |
249 | 249 |
250 int ngx_file_info(char *file, ngx_file_info_t *sb) | 250 int ngx_file_info(u_char *file, ngx_file_info_t *sb) |
251 { | 251 { |
252 /* Win95 */ | 252 /* Win95 */ |
253 | 253 |
254 sb->dwFileAttributes = GetFileAttributes(file); | 254 sb->dwFileAttributes = GetFileAttributes((const char *) file); |
255 | 255 |
256 if (sb->dwFileAttributes == INVALID_FILE_ATTRIBUTES) { | 256 if (sb->dwFileAttributes == INVALID_FILE_ATTRIBUTES) { |
257 return NGX_ERROR; | 257 return NGX_ERROR; |
258 } | 258 } |
259 | 259 |
263 | 263 |
264 int ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir) | 264 int ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir) |
265 { | 265 { |
266 ngx_cpystrn(name->data + name->len, NGX_DIR_MASK, NGX_DIR_MASK_LEN + 1); | 266 ngx_cpystrn(name->data + name->len, NGX_DIR_MASK, NGX_DIR_MASK_LEN + 1); |
267 | 267 |
268 dir->dir = FindFirstFile(name->data, &dir->fd); | 268 dir->dir = FindFirstFile((const char *) name->data, &dir->fd); |
269 | 269 |
270 if (dir->dir == INVALID_HANDLE_VALUE) { | 270 if (dir->dir == INVALID_HANDLE_VALUE) { |
271 return NGX_ERROR; | 271 return NGX_ERROR; |
272 } | 272 } |
273 | 273 |