Changeset 3794


Ignore:
Timestamp:
Mar 23, 2012, 9:40:38 AM (13 years ago)
Author:
bird
Message:

Reinstated FEA_NEEDEA on symbolic links and other special stuff. Only dropping it on directories and regular files.

Location:
trunk/libc/src/kNIX/os2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/libc/src/kNIX/os2/b_fsNativeFileModeSet.c

    r3778 r3794  
    185185            EaOp2.oError = 0;
    186186
     187            if (!S_ISREG(Mode) && !S_ISDIR(Mode))
     188                EAs.fEA = FEA_NEEDEA;
     189
    187190            /* finally, try update / add the EA. */
    188191            rc = DosSetPathInfo((PCSZ)pszNativePath, FIL_QUERYEASIZE, &EaOp2, sizeof(EaOp2), 0);
  • trunk/libc/src/kNIX/os2/b_nativeSymlinkCreate.c

    r3778 r3794  
    5959    {
    6060        sizeof(__libc_gFsUnixAttribsCreateSymlinkFEA2List),
    61         OFF(Core.offGID,    Core.offUID),   0,  sizeof(EA_UID) - 1,   sizeof(uint32_t) + 4, EA_UID,   EAT_BINARY, sizeof(uint32_t), 0, "",
    62         OFF(Core.offMode,   Core.offGID),   0,  sizeof(EA_GID) - 1,   sizeof(uint32_t) + 4, EA_GID,   EAT_BINARY, sizeof(uint32_t), 0, "",
    63         OFF(Core.offINO,    Core.offMode),  0,  sizeof(EA_MODE) - 1,  sizeof(uint32_t) + 4, EA_MODE,  EAT_BINARY, sizeof(uint32_t), 0, "",
    64         OFF(Core.offRDev,   Core.offINO),   0,  sizeof(EA_INO) - 1,   sizeof(uint64_t) + 4, EA_INO,   EAT_BINARY, sizeof(uint64_t), 0, "",
    65         OFF(Core.offGen,    Core.offRDev),  0,  sizeof(EA_RDEV) - 1,  sizeof(uint32_t) + 4, EA_RDEV,  EAT_BINARY, sizeof(uint32_t), 0, "",
    66         OFF(Core.offFlags,  Core.offGen),   0,  sizeof(EA_GEN) - 1,   sizeof(uint32_t) + 4, EA_GEN,   EAT_BINARY, sizeof(uint32_t), 0, "",
    67         OFF(offSymlink,     Core.offFlags), 0,  sizeof(EA_FLAGS) - 1, sizeof(uint32_t) + 4, EA_FLAGS, EAT_BINARY, sizeof(uint32_t), 0, "",
     61        OFF(Core.offGID,    Core.offUID),   FEA_NEEDEA,  sizeof(EA_UID) - 1,   sizeof(uint32_t) + 4, EA_UID,   EAT_BINARY, sizeof(uint32_t), 0, "",
     62        OFF(Core.offMode,   Core.offGID),   FEA_NEEDEA,  sizeof(EA_GID) - 1,   sizeof(uint32_t) + 4, EA_GID,   EAT_BINARY, sizeof(uint32_t), 0, "",
     63        OFF(Core.offINO,    Core.offMode),  FEA_NEEDEA,  sizeof(EA_MODE) - 1,  sizeof(uint32_t) + 4, EA_MODE,  EAT_BINARY, sizeof(uint32_t), 0, "",
     64        OFF(Core.offRDev,   Core.offINO),   FEA_NEEDEA,  sizeof(EA_INO) - 1,   sizeof(uint64_t) + 4, EA_INO,   EAT_BINARY, sizeof(uint64_t), 0, "",
     65        OFF(Core.offGen,    Core.offRDev),  FEA_NEEDEA,  sizeof(EA_RDEV) - 1,  sizeof(uint32_t) + 4, EA_RDEV,  EAT_BINARY, sizeof(uint32_t), 0, "",
     66        OFF(Core.offFlags,  Core.offGen),   FEA_NEEDEA,  sizeof(EA_GEN) - 1,   sizeof(uint32_t) + 4, EA_GEN,   EAT_BINARY, sizeof(uint32_t), 0, "",
     67        OFF(offSymlink,     Core.offFlags), FEA_NEEDEA,  sizeof(EA_FLAGS) - 1, sizeof(uint32_t) + 4, EA_FLAGS, EAT_BINARY, sizeof(uint32_t), 0, "",
    6868    },
    69     0,                                      0,  sizeof(EA_SYMLINK) - 1, 0              + 4, EA_SYMLINK,EAT_ASCII, 0,                ""
     69    0,                                      FEA_NEEDEA,  sizeof(EA_SYMLINK) - 1, 0              + 4, EA_SYMLINK,EAT_ASCII, 0,                ""
    7070#undef OFF
    7171};
  • trunk/libc/src/kNIX/os2/fhOS2File.c

    r3778 r3794  
    640640                EaOp2.oError = 0;
    641641
     642                if (!S_ISREG(fMode) && !S_ISDIR(fMode))
     643                    EAs.fEA = FEA_NEEDEA;
     644
    642645                /* finally, try update / add the EA. */
    643646                rc = DosSetFileInfo(pFH->fh, FIL_QUERYEASIZE, &EaOp2, sizeof(EaOp2));
Note: See TracChangeset for help on using the changeset viewer.