Browse code

fix some unlinks() for win32

Tomasz Kojm authored on 2011/04/20 21:56:45
Showing 2 changed files
... ...
@@ -950,18 +950,18 @@ int cli_dumpscan(int fd, off_t offset, size_t size, cli_ctx *ctx)
950 950
 	if((uint32_t) (sum + bread) >= size) {
951 951
 	    if(write(newfd, buff, size - sum) == -1) {
952 952
 		cli_errmsg("cli_dumpscan: Can't write to %s\n", name);
953
+		close(newfd);
953 954
 		cli_unlink(name);
954 955
 		free(name);
955
-		close(newfd);
956 956
 		return CL_EWRITE;
957 957
 	    }
958 958
 	    break;
959 959
 	} else {
960 960
 	    if(write(newfd, buff, bread) == -1) {
961 961
 		cli_errmsg("cli_dumpscan: Can't write to %s\n", name);
962
+		close(newfd);
962 963
 		cli_unlink(name);
963 964
 		free(name);
964
-		close(newfd);
965 965
 		return CL_EWRITE;
966 966
 	    }
967 967
 	}
... ...
@@ -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);