Fossil SCM
When trying to create a directory, if mkdir fails, make sure the directory doesn't already exist before giving up and reporting an error.
Commit
bc74a8171d478a4e01ba2dbec4f1908aaeec5fef
Parent
d764f449d78f988…
1 file changed
+1
-1
+1
-1
| --- src/blob.c | ||
| +++ src/blob.c | ||
| @@ -800,11 +800,11 @@ | ||
| 800 | 800 | ** The if stops us from trying to create a directory of a drive letter |
| 801 | 801 | ** C: in this example. |
| 802 | 802 | */ |
| 803 | 803 | if( !(i==2 && zName[1]==':') ){ |
| 804 | 804 | #endif |
| 805 | - if( file_mkdir(zName, 1) ){ | |
| 805 | + if( file_mkdir(zName, 1) && file_isdir(zName)!=1 ){ | |
| 806 | 806 | fossil_fatal_recursive("unable to create directory %s", zName); |
| 807 | 807 | return 0; |
| 808 | 808 | } |
| 809 | 809 | #if defined(_WIN32) |
| 810 | 810 | } |
| 811 | 811 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -800,11 +800,11 @@ | |
| 800 | ** The if stops us from trying to create a directory of a drive letter |
| 801 | ** C: in this example. |
| 802 | */ |
| 803 | if( !(i==2 && zName[1]==':') ){ |
| 804 | #endif |
| 805 | if( file_mkdir(zName, 1) ){ |
| 806 | fossil_fatal_recursive("unable to create directory %s", zName); |
| 807 | return 0; |
| 808 | } |
| 809 | #if defined(_WIN32) |
| 810 | } |
| 811 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -800,11 +800,11 @@ | |
| 800 | ** The if stops us from trying to create a directory of a drive letter |
| 801 | ** C: in this example. |
| 802 | */ |
| 803 | if( !(i==2 && zName[1]==':') ){ |
| 804 | #endif |
| 805 | if( file_mkdir(zName, 1) && file_isdir(zName)!=1 ){ |
| 806 | fossil_fatal_recursive("unable to create directory %s", zName); |
| 807 | return 0; |
| 808 | } |
| 809 | #if defined(_WIN32) |
| 810 | } |
| 811 |