Changeset 124 for branches/samba-3.0/source/smbd/dosmode.c
- Timestamp:
- Mar 12, 2008, 9:08:18 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/smbd/dosmode.c
r57 r124 453 453 454 454 DEBUG(10,("file_set_dosmode: setting dos mode 0x%x on file %s\n", dosmode, fname)); 455 if (!st || (st && !VALID_STAT(*st))) { 455 456 if (st == NULL) { 457 SET_STAT_INVALID(st1); 456 458 st = &st1; 459 } 460 461 if (!VALID_STAT(*st)) { 457 462 if (SMB_VFS_STAT(conn,fname,st)) 458 463 return(-1); 459 464 } 465 466 unixmode = st->st_mode; 460 467 461 468 get_acl_group_bits(conn, fname, &st->st_mode); … … 466 473 dosmode &= ~aDIR; 467 474 468 if (dos_mode(conn,fname,st) == dosmode) 475 if (dos_mode(conn,fname,st) == dosmode) { 476 st->st_mode = unixmode; 469 477 return(0); 478 } 470 479 471 480 /* Store the DOS attributes in an EA by preference. */ 472 481 if (set_ea_dos_attribute(conn, fname, st, dosmode)) { 482 st->st_mode = unixmode; 473 483 return 0; 474 484 } … … 509 519 notify_fname(conn, NOTIFY_ACTION_MODIFIED, 510 520 FILE_NOTIFY_CHANGE_ATTRIBUTES, fname); 521 st->st_mode = unixmode; 511 522 return 0; 512 523 } … … 541 552 notify_fname(conn, NOTIFY_ACTION_MODIFIED, 542 553 FILE_NOTIFY_CHANGE_ATTRIBUTES, fname); 554 if (ret == 0) { 555 st->st_mode = unixmode; 556 } 543 557 } 544 558
Note:
See TracChangeset
for help on using the changeset viewer.