Changeset 3738
- Timestamp:
- 08/19/08 11:26:36
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
releases/modest/diablo-pe2/libtinymail-camel/camel-lite/camel/providers/local/camel-local-store.c
r3735 r3738 348 348 ret = -1; 349 349 } 350 #ifndef G_OS_WIN32 351 } else if (S_ISDIR(st.st_mode)) { /* use rename for dirs */ 352 if (rename(old, new) == 0 353 || stat(new, &st) == 0) { 354 ret = 0; 355 } else { 356 err = errno; 357 ret = -1; 358 } 359 } else if (link(old, new) == 0 /* and link for files */ 360 || (stat(new, &st) == 0 && st.st_nlink == 2)) { 361 if (unlink(old) == 0) { 362 ret = 0; 363 } else { 364 err = errno; 365 unlink(new); 366 ret = -1; 367 } 368 } else { 369 err = errno; 370 ret = -1; 371 #else 350 372 } else if ((!g_file_test (new, G_FILE_TEST_EXISTS) || g_remove (new) == 0) && 351 373 g_rename(old, new) == 0) { … … 354 376 err = errno; 355 377 ret = -1; 378 #endif 356 379 } 357 380
