Browse code

fix some unlinks() for win32

Tomasz Kojm authored on 2011/04/20 21:56:45
Showing 2 changed files
... ...
@@ -948,18 +948,18 @@ int cli_dumpscan(int fd, off_t offset, size_t size, cli_ctx *ctx)
948 948
 	if((uint32_t) (sum + bread) >= size) {
949 949
 	    if(write(newfd, buff, size - sum) == -1) {
950 950
 		cli_errmsg("cli_dumpscan: Can't write to %s\n", name);
951
+		close(newfd);
951 952
 		cli_unlink(name);
952 953
 		free(name);
953
-		close(newfd);
954 954
 		return CL_EWRITE;
955 955
 	    }
956 956
 	    break;
957 957
 	} else {
958 958
 	    if(write(newfd, buff, bread) == -1) {
959 959
 		cli_errmsg("cli_dumpscan: Can't write to %s\n", name);
960
+		close(newfd);
960 961
 		cli_unlink(name);
961 962
 		free(name);
962
-		close(newfd);
963 963
 		return CL_EWRITE;
964 964
 	    }
965 965
 	}
... ...
@@ -250,10 +250,10 @@ static int utf16decode(const struct optstruct *opts)
250 250
 	    if(write(fd2, decoded, strlen(decoded)) == -1) {
251 251
 		mprintf("!utf16decode: Can't write to file %s\n", newname);
252 252
 		free(decoded);
253
-		unlink(newname);
254
-		free(newname);
255 253
 		close(fd1);
256 254
 		close(fd2);
255
+		unlink(newname);
256
+		free(newname);
257 257
 		return -1;
258 258
 	    }
259 259
 	    free(decoded);