Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Apr 2008 15:17:26 GMT
From:      Yarodin <yarodin@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/122420: [UPDATE] Update archivers/unrar-iconv
Message-ID:  <200804031517.m33FHQVM043747@www.freebsd.org>
Resent-Message-ID: <200804031520.m33FK1uj009520@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         122420
>Category:       ports
>Synopsis:       [UPDATE] Update archivers/unrar-iconv
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 03 15:20:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Yarodin
>Release:        6.3-RELEASE
>Organization:
>Environment:
>Description:
- Fix unicode support
- Add some little notes.

How to apply patch:
1) Put patch-unrar-iconv.txt to /usr/ports/archivers/
2) cd /usr/ports/archivers/ && patch -p <patch-unrar-iconv.txt && find /usr/ports/archivers/unrar-iconv/ -type f -name "*.orig" -exec rm -f {} \;

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

--- unrar-iconv.orig/Makefile	2008-02-17 01:13:28.000000000 +0500
+++ unrar-iconv/Makefile	2008-04-03 20:59:33.000000000 +0600
@@ -18,5 +18,7 @@
 post-install:
 	@${ECHO_MSG} "===> Added iconv support, see new switches:"
 	@${ECHO_MSG} "     la, ll and lo at \"unrar -?\""
+	@${ECHO_MSG} "===> REMEMBER!!!: Windows rar archives using old DOS encodings as internal encoding."
+	@${ECHO_MSG} "     CP866 for russian lang for exmaple."
 
 .include "${MASTERDIR}/Makefile"
--- unrar-iconv.orig/files/patch-iconv	2007-10-17 19:03:52.000000000 +0600
+++ unrar-iconv/files/patch-iconv	2008-04-03 21:15:46.000000000 +0600
@@ -152,10 +152,10 @@
  #ifdef  S_IFLNK
  #define SAVE_LINKS
  #endif
---- strfn.cpp	Tue Oct  4 11:57:54 2005
-+++ strfn.cpp	Mon Jan 16 18:04:41 2006
+--- strfn.cpp.orig      2007-09-10 17:49:28.000000000 +0600
++++ strfn.cpp   2008-04-03 21:15:08.000000000 +0600
 @@ -22,23 +22,49 @@
- 
+
  void ExtToInt(const char *Src,char *Dest)
  {
 +#ifdef WITH_ICONV
@@ -163,23 +163,23 @@
 +  ret = (size_t)(-1);
 +  if (h_E2I != (iconv_t)(-1)) {
 +    static size_t inbytesleft, outbytesleft;
-+
-+    inbytesleft = strlen(Src);
-+    outbytesleft = inbytesleft;
++    inbytesleft = strlen(Src)+1;
++    outbytesleft = NM;
 +    ret = iconv(h_E2I, &Src, &inbytesleft, &Dest, &outbytesleft);
++    Dest[outbytesleft-inbytesleft]=NULL;
 +  }
-+  if (ret == (size_t)(-1)) strcpy(Dest, Src);
-+#else	/* !WITH_ICONV */
++  if (ret == (size_t)(-1))  strcpy(Dest, Src);
++#else  /* !WITH_ICONV */
  #if defined(_WIN_32)
    CharToOem(Src,Dest);
  #else
    if (Dest!=Src)
      strcpy(Dest,Src);
  #endif
-+#endif	/* !WITH_ICONV */
++#endif /* !WITH_ICONV */
  }
- 
- 
+
+
  void IntToExt(const char *Src,char *Dest)
  {
 +#ifdef WITH_ICONV
@@ -187,18 +187,18 @@
 +  ret = (size_t)(-1);
 +  if (h_I2E != (iconv_t)(-1)) {
 +    static size_t inbytesleft, outbytesleft;
-+
-+    inbytesleft = strlen(Src);
-+    outbytesleft = inbytesleft;
++    inbytesleft = strlen(Src)+1;
++    outbytesleft = NM;
 +    ret = iconv(h_I2E, &Src, &inbytesleft, &Dest, &outbytesleft);
++    Dest[outbytesleft-inbytesleft]=NULL;
 +  }
-+  if (ret == (size_t)(-1)) strcpy(Dest, Src);
-+#else	/* !WITH_ICONV */
++  if (ret == (size_t)(-1))   strcpy(Dest,Src);
++#else  /* !WITH_ICONV */
  #if defined(_WIN_32)
    OemToChar(Src,Dest);
  #else
    if (Dest!=Src)
      strcpy(Dest,Src);
  #endif
-+#endif	/* !WITH_ICONV */
++#endif /* !WITH_ICONV */
  }


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804031517.m33FHQVM043747>