Hello community,

here is the log from the commit of package unrar for openSUSE:Factory:NonFree 
checked in at 2013-11-12 16:37:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2013-10-21 
15:15:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new/unrar.changes 2013-11-12 
16:37:03.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Nov 12 12:53:14 UTC 2013 - [email protected]
+
+- Update to 5.0.13
+  * No changelog
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-5.0.12.tar.gz

New:
----
  unrarsrc-5.0.13.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.ZGdagg/_old  2013-11-12 16:37:04.000000000 +0100
+++ /var/tmp/diff_new_pack.ZGdagg/_new  2013-11-12 16:37:04.000000000 +0100
@@ -18,10 +18,10 @@
 
 # majorversion should match the major version number.
 %define majorversion 5
-%define libsuffix 5_0_12
+%define libsuffix 5_0_13
 
 Name:           unrar
-Version:        5.0.12
+Version:        5.0.13
 Release:        0
 License:        SUSE-NonFree
 Summary:        A program to extract, test, and view RAR archives

++++++ unrarsrc-5.0.12.tar.gz -> unrarsrc-5.0.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/archive.cpp new/unrar/archive.cpp
--- old/unrar/archive.cpp       2013-09-24 20:08:23.000000000 +0200
+++ new/unrar/archive.cpp       2013-11-12 09:00:45.000000000 +0100
@@ -49,6 +49,7 @@
   NewArchive=false;
 
   SilentOpen=false;
+
 }
 
 
@@ -201,6 +202,15 @@
   else
     MarkHead.HeadSize=SIZEOF_MARKHEAD3;
 
+#ifdef RARDLL
+  // If callback function is not set, we cannot get the password,
+  // so we skip the initial header processing for encrypted header archive.
+  // It leads to skipped archive comment, but the rest of archive data
+  // is processed correctly.
+  if (Cmd->Callback==NULL)
+    SilentOpen=true;
+#endif
+
   // Skip the archive encryption header if any and read the main header.
   while (ReadHeader()!=0)
   {
@@ -244,15 +254,6 @@
   }
 */
 
-#ifdef RARDLL
-  // If callback function is not set, we cannot get the password,
-  // so we skip the initial header processing for encrypted header archive.
-  // It leads to skipped archive comment, but the rest of archive data
-  // is processed correctly.
-  if (Cmd->Callback==NULL)
-    SilentOpen=true;
-#endif
-
   MainComment=MainHead.CommentInHeader;
 
   // If we process non-encrypted archive or can request a password,
@@ -271,10 +272,10 @@
     {
       HEADER_TYPE HeaderType=GetHeaderType();
       if (HeaderType==HEAD_SERVICE)
-        FirstVolume=!SubHead.SplitBefore;
+        FirstVolume=Volume && !SubHead.SplitBefore;
       else
       {
-        FirstVolume=HeaderType==HEAD_FILE && !FileHead.SplitBefore;
+        FirstVolume=Volume && HeaderType==HEAD_FILE && !FileHead.SplitBefore;
         break;
       }
       SeekToNext();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.cpp new/unrar/dll.cpp
--- old/unrar/dll.cpp   2013-09-24 20:08:23.000000000 +0200
+++ new/unrar/dll.cpp   2013-11-12 09:00:45.000000000 +0100
@@ -73,7 +73,16 @@
     }
     if (!Data->Arc.IsArchive(false))
     {
-      r->OpenResult=Data->Cmd.DllError!=0 ? 
Data->Cmd.DllError:ERAR_BAD_ARCHIVE;
+      if (Data->Cmd.DllError!=0)
+        r->OpenResult=Data->Cmd.DllError;
+      else
+      {
+        RAR_EXIT ErrCode=ErrHandler.GetErrorCode();
+        if (ErrCode!=RARX_SUCCESS && ErrCode!=RARX_WARNING)
+          r->OpenResult=RarErrorToDll(ErrCode);
+        else
+          r->OpenResult=ERAR_BAD_ARCHIVE;
+      }
       delete Data;
       return NULL;
     }
@@ -197,7 +206,7 @@
       else
         return Code;
     }
-    wcsncpy(D->ArcNameW,hd->FileName,ASIZE(D->ArcNameW));
+    wcsncpy(D->ArcNameW,Data->Arc.FileName,ASIZE(D->ArcNameW));
     WideToChar(D->ArcNameW,D->ArcName,ASIZE(D->ArcName));
 
     wcsncpy(D->FileNameW,hd->FileName,ASIZE(D->FileNameW));
@@ -419,6 +428,8 @@
       return ERAR_ECREATE;
     case RARX_MEMORY:
       return ERAR_NO_MEMORY;
+    case RARX_BADPWD:
+      return ERAR_BAD_PASSWORD;
     case RARX_SUCCESS:
       return ERAR_SUCCESS; // 0.
     default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.hpp new/unrar/dll.hpp
--- old/unrar/dll.hpp   2013-09-24 20:08:23.000000000 +0200
+++ new/unrar/dll.hpp   2013-11-12 09:00:45.000000000 +0100
@@ -17,6 +17,8 @@
 #define ERAR_SMALL_BUF          20
 #define ERAR_UNKNOWN            21
 #define ERAR_MISSING_PASSWORD   22
+#define ERAR_EREFERENCE         23
+#define ERAR_BAD_PASSWORD       24
 
 #define RAR_OM_LIST              0
 #define RAR_OM_EXTRACT           1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2013-08-22 15:00:02.000000000 +0200
+++ new/unrar/dll.rc    2013-11-12 08:56:32.000000000 +0100
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 0, 100, 965
-PRODUCTVERSION 5, 0, 100, 965
+FILEVERSION 5, 1, 1, 1047
+PRODUCTVERSION 5, 1, 1, 1047
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
@@ -14,8 +14,8 @@
       VALUE "CompanyName", "Alexander Roshal\0"
       VALUE "ProductName", "RAR decompression library\0"
       VALUE "FileDescription", "RAR decompression library\0"
-      VALUE "FileVersion", "5.0.0\0"
-      VALUE "ProductVersion", "5.0.0\0"
+      VALUE "FileVersion", "5.1.1\0"
+      VALUE "ProductVersion", "5.1.1\0"
       VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2013\0"
       VALUE "OriginalFilename", "Unrar.dll\0"
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/errhnd.cpp new/unrar/errhnd.cpp
--- old/unrar/errhnd.cpp        2013-09-24 20:08:23.000000000 +0200
+++ new/unrar/errhnd.cpp        2013-11-12 09:00:46.000000000 +0100
@@ -254,6 +254,10 @@
       if (ExitCode==RARX_SUCCESS)
         ExitCode=Code;
       break;
+    case RARX_CRC:
+      if (ExitCode!=RARX_BADPWD)
+        ExitCode=Code;
+      break;
     case RARX_FATAL:
       if (ExitCode==RARX_SUCCESS || ExitCode==RARX_WARNING)
         ExitCode=RARX_FATAL;
@@ -338,7 +342,7 @@
   if (Code!=RARX_SUCCESS && Code!=RARX_USERERROR)
     mprintf(L"\n%s\n",St(MProgAborted));
 #endif
-  ErrHandler.SetErrorCode(Code);
+  SetErrorCode(Code);
   throw Code;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/extract.cpp new/unrar/extract.cpp
--- old/unrar/extract.cpp       2013-09-24 20:08:23.000000000 +0200
+++ new/unrar/extract.cpp       2013-11-12 09:00:46.000000000 +0100
@@ -555,7 +555,7 @@
             if (Type==FSREDIR_HARDLINK)
               
LinkSuccess=ExtractHardlink(DestFileName,NameExisting,ASIZE(NameExisting));
             else
-              
LinkSuccess=ExtractFileCopy(CurFile,Arc.FileName,DestFileName,NameExisting,ASIZE(NameExisting));
+              
LinkSuccess=ExtractFileCopy(Cmd,CurFile,Arc.FileName,DestFileName,NameExisting,ASIZE(NameExisting));
         }
         else
           if (Type==FSREDIR_UNIXSYMLINK || Type==FSREDIR_WINSYMLINK || 
Type==FSREDIR_JUNCTION)
@@ -615,12 +615,12 @@
       bool BrokenFile=false;
       
       // Checksum is not calculated in skip solid mode for performance reason.
-      if (!SkipSolid)
+      if (!SkipSolid && ShowChecksum)
       {
         if (!WrongPassword && ValidCRC)
         {
 #ifndef GUI
-          if (Command!='P' && Command!='I' && ShowChecksum)
+          if (Command!='P' && Command!='I')
             mprintf(L"%s%s ",Cmd->DisablePercentage ? L" ":L"\b\b\b\b\b ",
               Arc.FileHead.FileHash.Type==HASH_NONE ? L"  ?":St(MOk));
 #endif
@@ -706,7 +706,7 @@
 
 void CmdExtract::UnstoreFile(ComprDataIO &DataIO,int64 DestUnpSize)
 {
-  Array<byte> Buffer(0x100000);
+  Array<byte> Buffer(0x40000);
   while (1)
   {
     uint Code=DataIO.UnpRead(&Buffer[0],Buffer.Size());
@@ -720,7 +720,7 @@
 }
 
 
-bool CmdExtract::ExtractFileCopy(File &New,wchar *ArcName,wchar *NameNew,wchar 
*NameExisting,size_t NameExistingSize)
+bool CmdExtract::ExtractFileCopy(CommandData *Cmd,File &New,wchar 
*ArcName,wchar *NameNew,wchar *NameExisting,size_t NameExistingSize)
 {
 #ifdef _WIN_ALL
   UnixSlashToDos(NameExisting,NameExisting,NameExistingSize);
@@ -733,6 +733,9 @@
     ErrHandler.OpenErrorMsg(ArcName,NameExisting);
     Log(ArcName,St(MCopyError),NameExisting,NameNew);
     Log(ArcName,St(MCopyErrorHint));
+#ifdef RARDLL
+    Cmd->DllError=ERAR_EREFERENCE;
+#endif
     return false;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/extract.hpp new/unrar/extract.hpp
--- old/unrar/extract.hpp       2013-09-24 20:08:24.000000000 +0200
+++ new/unrar/extract.hpp       2013-11-12 09:00:46.000000000 +0100
@@ -7,7 +7,7 @@
 {
   private:
     EXTRACT_ARC_CODE ExtractArchive(CommandData *Cmd);
-    bool ExtractFileCopy(File &New,wchar *ArcName,wchar *NameNew,wchar 
*NameExisting,size_t NameExistingSize);
+    bool ExtractFileCopy(CommandData *Cmd,File &New,wchar *ArcName,wchar 
*NameNew,wchar *NameExisting,size_t NameExistingSize);
     void ExtrPrepareName(CommandData *Cmd,Archive &Arc,const wchar 
*ArcFileName,wchar *DestName,size_t DestSize);
 #ifdef RARDLL
     bool ExtrDllGetPassword(CommandData *Cmd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/file.cpp new/unrar/file.cpp
--- old/unrar/file.cpp  2013-09-24 20:08:24.000000000 +0200
+++ new/unrar/file.cpp  2013-11-12 09:00:46.000000000 +0100
@@ -68,7 +68,10 @@
 
     wchar LongName[NM];
     if (GetWinLongPath(Name,LongName,ASIZE(LongName)))
+    {
       
hNewFile=CreateFile(LongName,Access,ShareMode,NULL,OPEN_EXISTING,Flags,NULL);
+      LastError=GetLastError();
+    }
   }
 
   if (hNewFile==BAD_HANDLE && LastError==ERROR_FILE_NOT_FOUND)
@@ -188,23 +191,25 @@
 bool File::Close()
 {
   bool Success=true;
-  if (HandleType!=FILE_HANDLENORMAL)
-    HandleType=FILE_HANDLENORMAL;
-  else
-    if (hFile!=BAD_HANDLE)
+
+  if (hFile!=BAD_HANDLE)
+  {
+    if (!SkipClose)
     {
-      if (!SkipClose)
-      {
 #ifdef _WIN_ALL
+      // We use the standard system handle for stdout in Windows
+      // and it must not  be closed here.
+      if (HandleType==FILE_HANDLENORMAL)
         Success=CloseHandle(hFile)==TRUE;
 #else
-        Success=fclose(hFile)!=EOF;
+      Success=fclose(hFile)!=EOF;
 #endif
-      }
-      hFile=BAD_HANDLE;
-      if (!Success && AllowExceptions)
-        ErrHandler.CloseError(FileName);
     }
+    hFile=BAD_HANDLE;
+  }
+  HandleType=FILE_HANDLENORMAL;
+  if (!Success && AllowExceptions)
+    ErrHandler.CloseError(FileName);
   return Success;
 }
 
@@ -250,24 +255,16 @@
 {
   if (Size==0)
     return;
-  if (HandleType!=FILE_HANDLENORMAL)
-    switch(HandleType)
-    {
-      case FILE_HANDLESTD:
-#ifdef _WIN_ALL
-        hFile=GetStdHandle(STD_OUTPUT_HANDLE);
-#else
-        hFile=stdout;
-#endif
-        break;
-      case FILE_HANDLEERR:
+  if (HandleType==FILE_HANDLESTD)
+  {
 #ifdef _WIN_ALL
-        hFile=GetStdHandle(STD_ERROR_HANDLE);
+    hFile=GetStdHandle(STD_OUTPUT_HANDLE);
 #else
-        hFile=stderr;
+    // Cannot use the standard stdout here, because it already has wide 
orientation.
+    if (hFile==BAD_HANDLE)
+      hFile=fdopen(dup(1),"w"); // Open new stdout stream.
 #endif
-        break;
-    }
+  }
   while (1)
   {
     bool Success=false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/pathfn.cpp new/unrar/pathfn.cpp
--- old/unrar/pathfn.cpp        2013-09-24 20:08:24.000000000 +0200
+++ new/unrar/pathfn.cpp        2013-11-12 09:00:46.000000000 +0100
@@ -424,7 +424,7 @@
 #ifndef _UNIX
     if (s-Name>1 && *s==':')
       *s='_';
-    if ((*s==' ' || *s=='.') && IsPathDiv(s[1]))
+    if ((*s==' ' || *s=='.' && s>Name && !IsPathDiv(s[-1]) && s[-1]!='.') && 
IsPathDiv(s[1]))
       *s='_';
 #endif
   }
@@ -440,7 +440,7 @@
 #ifndef _UNIX
     if (s-Name>1 && *s==':')
       *s='_';
-    if ((*s==' ' || *s=='.') && IsPathDiv(s[1]))
+    if ((*s==' ' || *s=='.' && s>Name && !IsPathDiv(s[-1]) && s[-1]!='.') && 
IsPathDiv(s[1]))
       *s='_';
 #endif
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp
--- old/unrar/version.hpp       2013-09-24 20:08:24.000000000 +0200
+++ new/unrar/version.hpp       2013-11-12 09:00:46.000000000 +0100
@@ -1,6 +1,6 @@
 #define RARVER_MAJOR     5
-#define RARVER_MINOR     0
-#define RARVER_BETA      0
-#define RARVER_DAY      22
-#define RARVER_MONTH     8
+#define RARVER_MINOR     1
+#define RARVER_BETA      1
+#define RARVER_DAY      12
+#define RARVER_MONTH    11
 #define RARVER_YEAR   2013
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/win32lnk.cpp new/unrar/win32lnk.cpp
--- old/unrar/win32lnk.cpp      2013-09-24 20:08:24.000000000 +0200
+++ new/unrar/win32lnk.cpp      2013-11-12 09:00:46.000000000 +0100
@@ -53,7 +53,6 @@
   if (hFile==INVALID_HANDLE_VALUE)
   {
     ErrHandler.OpenErrorMsg(NULL,Name);
-    ErrHandler.SysErrMsg();
     ErrHandler.SetErrorCode(RARX_OPEN);
     return;
   }

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to