~ubuntu-branches/ubuntu/lucid/unrar-nonfree/lucid

« back to all changes in this revision

Viewing changes to arccmt.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Martin Meredith
  • Date: 2009-06-06 17:46:05 UTC
  • mfrom: (1.1.11 upstream) (5.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090606174605-h4ciqxlpy39jmjx0
Tags: 1:3.9.3-1
* New upstream release
* Updated Copyright file (Closes: #531432)

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
    return(false);
5
5
  SaveFilePos SavePos(*this);
6
6
 
 
7
#ifndef SFX_MODULE
7
8
  ushort CmtLength;
8
 
#ifndef SFX_MODULE
9
9
  if (OldFormat)
10
10
  {
11
11
    Seek(SFXSize+SIZEOF_OLDMHD,SEEK_SET);
70
70
    }
71
71
    else
72
72
    {
73
 
      unsigned char *UnpData;
74
 
      uint UnpDataSize;
 
73
      byte *UnpData;
 
74
      size_t UnpDataSize;
75
75
      DataIO.GetUnpackedData(&UnpData,&UnpDataSize);
76
76
      CmtData->Alloc(UnpDataSize);
77
77
      memcpy(&((*CmtData)[0]),UnpData,UnpDataSize);
94
94
#if defined(_WIN_32) && !defined(_WIN_CE)
95
95
  if (CmtData->Size()>0)
96
96
  {
97
 
    int CmtSize=CmtData->Size();
98
 
    OemToCharBuff((char *)CmtData->Addr(),(char *)CmtData->Addr(),CmtSize);
 
97
    size_t CmtSize=CmtData->Size();
 
98
    OemToCharBuff((char *)CmtData->Addr(),(char *)CmtData->Addr(),(DWORD)CmtSize);
99
99
 
100
100
    if (CmtDataW!=NULL)
101
101
    {
111
111
}
112
112
 
113
113
 
114
 
int Archive::ReadCommentData(Array<byte> *CmtData,Array<wchar> *CmtDataW)
 
114
size_t Archive::ReadCommentData(Array<byte> *CmtData,Array<wchar> *CmtDataW)
115
115
{
116
116
  bool Unicode=SubHead.SubFlags & SUBHEAD_FLAGS_CMT_UNICODE;
117
117
  if (!ReadSubData(CmtData,NULL))
118
118
    return(0);
119
 
  int CmtSize=CmtData->Size();
 
119
  size_t CmtSize=CmtData->Size();
120
120
  if (Unicode)
121
121
  {
122
122
    CmtSize/=2;
123
123
    Array<wchar> DataW(CmtSize+1);
124
124
    RawToWide(CmtData->Addr(),DataW.Addr(),CmtSize);
125
125
    DataW[CmtSize]=0;
126
 
    int DestSize=CmtSize*4;
 
126
    size_t DestSize=CmtSize*4;
127
127
    CmtData->Alloc(DestSize+1);
128
128
    WideToChar(DataW.Addr(),(char *)CmtData->Addr(),DestSize);
129
129
    (*CmtData)[DestSize]=0;
156
156
  Array<byte> CmtBuf;
157
157
  if (GetComment(&CmtBuf,NULL))
158
158
  {
159
 
    int CmtSize=CmtBuf.Size();
 
159
    size_t CmtSize=CmtBuf.Size();
160
160
    char *ChPtr=(char *)memchr(&CmtBuf[0],0x1A,CmtSize);
161
161
    if (ChPtr!=NULL)
162
162
      CmtSize=ChPtr-(char *)&CmtBuf[0];
179
179
  Array<char> CmtBuf(MaxSize);
180
180
  SaveFilePos SavePos(*this);
181
181
  Seek(CurBlockPos+SIZEOF_NEWLHD+NewLhd.NameSize,SEEK_SET);
182
 
  Int64 SaveCurBlockPos=CurBlockPos;
183
 
  Int64 SaveNextBlockPos=NextBlockPos;
 
182
  int64 SaveCurBlockPos=CurBlockPos;
 
183
  int64 SaveNextBlockPos=NextBlockPos;
184
184
 
185
 
  int Size=ReadHeader();
 
185
  size_t Size=ReadHeader();
186
186
 
187
187
  CurBlockPos=SaveCurBlockPos;
188
188
  NextBlockPos=SaveNextBlockPos;