~ubuntu-branches/ubuntu/vivid/unrar-nonfree/vivid

« back to all changes in this revision

Viewing changes to win32acl.cpp

  • Committer: Package Import Robot
  • Author(s): Martin Meredith
  • Date: 2015-02-03 12:58:01 UTC
  • mfrom: (1.1.18) (5.1.18 sid)
  • Revision ID: package-import@ubuntu.com-20150203125801-od6ev8cqy1er51vz
Tags: 1:5.2.5-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
  if (Arc.BrokenHeader)
13
13
  {
14
 
    Log(Arc.FileName,St(MACLBroken),FileName);
 
14
    uiMsg(UIERROR_ACLBROKEN,Arc.FileName,FileName);
15
15
    ErrHandler.SetErrorCode(RARX_CRC);
16
16
    return;
17
17
  }
18
18
 
19
19
  if (Arc.EAHead.Method<0x31 || Arc.EAHead.Method>0x35 || Arc.EAHead.UnpVer>VER_PACK)
20
20
  {
21
 
    Log(Arc.FileName,St(MACLUnknown),FileName);
 
21
    uiMsg(UIERROR_ACLUNKNOWN,Arc.FileName,FileName);
22
22
    ErrHandler.SetErrorCode(RARX_WARNING);
23
23
    return;
24
24
  }
38
38
 
39
39
  if (Arc.EAHead.EACRC!=DataIO.UnpHash.GetCRC32())
40
40
  {
41
 
    Log(Arc.FileName,St(MACLBroken),FileName);
 
41
    uiMsg(UIERROR_ACLBROKEN,Arc.FileName,FileName);
42
42
    ErrHandler.SetErrorCode(RARX_CRC);
43
43
    return;
44
44
  }
53
53
 
54
54
  if (!SetCode)
55
55
  {
56
 
    Log(Arc.FileName,St(MACLSetError),FileName);
 
56
    uiMsg(UIERROR_ACLSET,Arc.FileName,FileName);
57
57
    ErrHandler.SysErrMsg();
58
58
    ErrHandler.SetErrorCode(RARX_WARNING);
59
59
  }
75
75
    si|=SACL_SECURITY_INFORMATION;
76
76
  SECURITY_DESCRIPTOR *sd=(SECURITY_DESCRIPTOR *)&SubData[0];
77
77
 
78
 
  int SetCode=SetFileSecurityW(FileName,si,sd);
 
78
  int SetCode=SetFileSecurity(FileName,si,sd);
 
79
  if (!SetCode)
 
80
  {
 
81
    wchar LongName[NM];
 
82
    if (GetWinLongPath(FileName,LongName,ASIZE(LongName)))
 
83
      SetCode=SetFileSecurity(LongName,si,sd);
 
84
  }
79
85
 
80
86
  if (!SetCode)
81
87
  {
82
 
    Log(Arc.FileName,St(MACLSetError),FileName);
 
88
    uiMsg(UIERROR_ACLSET,Arc.FileName,FileName);
83
89
    ErrHandler.SysErrMsg();
84
90
    ErrHandler.SetErrorCode(RARX_WARNING);
85
91
  }