Author: colossus
Date: 2007-09-18 12:54:21 +0000 (Tue, 18 Sep 2007)
New Revision: 26087

Modified:
   xarchiver/trunk/INSTALL
   xarchiver/trunk/depcomp
   xarchiver/trunk/install-sh
   xarchiver/trunk/missing
   xarchiver/trunk/src/archive.c
   xarchiver/trunk/src/archive.h
   xarchiver/trunk/src/extract_dialog.c
   xarchiver/trunk/src/main.c
   xarchiver/trunk/src/new_dialog.c
   xarchiver/trunk/src/pref_dialog.c
   xarchiver/trunk/src/rar.c
   xarchiver/trunk/src/string_utils.c
   xarchiver/trunk/src/string_utils.h
   xarchiver/trunk/src/window.c
   xarchiver/trunk/src/window.h
Log:
Fixed bug in rar archive navigation code.
Code cleanup in archive.h
Made single files extraction from tar archives to work again.
Changed concatenation function names to the new xa_* pattern.


Modified: xarchiver/trunk/INSTALL
===================================================================
--- xarchiver/trunk/INSTALL     2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/INSTALL     2007-09-18 12:54:21 UTC (rev 26087)
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
 
 This file is free documentation; the Free Software Foundation gives
 unlimited permission to copy, distribute and modify it.
@@ -10,10 +10,7 @@
 Basic Installation
 ==================
 
-Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+These are generic installation instructions.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
@@ -26,9 +23,9 @@
 
    It can also use an optional file (typically called `config.cache'
 and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
+the results of its tests to speed up reconfiguring.  (Caching is
 disabled by default to prevent problems with accidental use of stale
-cache files.
+cache files.)
 
    If you need to do unusual things to compile the package, please try
 to figure out how `configure' could check whether to do them, and mail
@@ -38,17 +35,20 @@
 may remove or edit it.
 
    The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
 
 The simplest way to compile this package is:
 
   1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
 
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
 
   2. Type `make' to compile the package.
 
@@ -78,7 +78,7 @@
 by setting variables in the command line or in the environment.  Here
 is an example:
 
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
 
    *Note Defining Variables::, for more details.
 
@@ -87,15 +87,17 @@
 
 You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
 directory where you want the object files and executables to go and run
 the `configure' script.  `configure' automatically checks for the
 source code in the directory that `configure' is in and in `..'.
 
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
 
 Installation Names
 ==================
@@ -188,12 +190,12 @@
      ./configure CC=/usr/local2/bin/gcc
 
 causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
+overridden in the site shell script).  Here is a another example:
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
 
 `configure' Invocation
 ======================

Modified: xarchiver/trunk/depcomp
===================================================================
--- xarchiver/trunk/depcomp     2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/depcomp     2007-09-18 12:54:21 UTC (rev 26087)
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2006-10-15.18
+scriptversion=2005-07-09.11
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -92,20 +91,7 @@
 ## gcc 3 implements dependency tracking that does exactly what
 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
 ## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
   else
@@ -290,46 +276,6 @@
   rm -f "$tmpdepfile"
   ;;
 
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -342,13 +288,13 @@
 
    if test "$libtool" = yes; then
       # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
+      # static library.  This mecanism is used in libtool 1.4 series to
       # handle both shared and static libraries in a single compilation.
       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
       #
       # With libtool 1.5 this exception was removed, and libtool now
       # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
+      # compilations output dependencies in in $dir.libs/$base.o.d and
       # in $dir$base.o.d.  We have to check for both files, because
       # one of the two compilations can be disabled.  We should prefer
       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is

Modified: xarchiver/trunk/install-sh
===================================================================
--- xarchiver/trunk/install-sh  2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/install-sh  2007-09-18 12:54:21 UTC (rev 26087)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-10-14.15
+scriptversion=2005-05-14.22
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,24 +39,15 @@
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
 
-nl='
-'
-IFS=" ""       $nl"
-
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
 doit="${DOITPROG-}"
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
 
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
+# put in absolute paths if you don't have them in your path; or use env. vars.
 
 mvprog="${MVPROG-mv}"
 cpprog="${CPPROG-cp}"
@@ -67,13 +58,7 @@
 rmprog="${RMPROG-rm}"
 mkdirprog="${MKDIRPROG-mkdir}"
 
-posix_glob=
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chmodcmd=$chmodprog
+chmodcmd="$chmodprog 0755"
 chowncmd=
 chgrpcmd=
 stripcmd=
@@ -110,7 +95,7 @@
   CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
 "
 
-while test $# -ne 0; do
+while test -n "$1"; do
   case $1 in
     -c) shift
         continue;;
@@ -126,15 +111,9 @@
 
     --help) echo "$usage"; exit $?;;
 
-    -m) mode=$2
+    -m) chmodcmd="$chmodprog $2"
         shift
         shift
-       case $mode in
-         *' '* | *'    '* | *'
-'*       | *'*'* | *'?'* | *'['*)
-           echo "$0: invalid mode: $mode" >&2
-           exit 1;;
-       esac
         continue;;
 
     -o) chowncmd="$chownprog $2"
@@ -157,33 +136,25 @@
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)        shift
+    *)  # When -d is used, all remaining arguments are directories to create.
+       # When -t is used, the destination is already specified.
+       test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from 
[EMAIL PROTECTED]
+       for arg
+       do
+          if test -n "$dstarg"; then
+           # $@ is not empty: it contains at least $arg.
+           set fnord "$@" "$dstarg"
+           shift # fnord
+         fi
+         shift # arg
+         dstarg=$arg
+       done
        break;;
-
-    -*)        echo "$0: invalid option: $1" >&2
-       exit 1;;
-
-    *)  break;;
   esac
 done
 
-if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from [EMAIL 
PROTECTED]
-  for arg
-  do
-    if test -n "$dstarg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dstarg"
-      shift # fnord
-    fi
-    shift # arg
-    dstarg=$arg
-  done
-fi
-
-if test $# -eq 0; then
+if test -z "$1"; then
   if test -z "$dir_arg"; then
     echo "$0: no input file specified." >&2
     exit 1
@@ -193,33 +164,6 @@
   exit 0
 fi
 
-if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
 for src
 do
   # Protect names starting with `-'.
@@ -229,11 +173,15 @@
 
   if test -n "$dir_arg"; then
     dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
+    src=
 
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
     # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
     # might cause directories to be created, which would be especially bad
     # if $src (and thus $dsttmp) contains '*'.
@@ -260,188 +208,53 @@
        echo "$0: $dstarg: Is a directory" >&2
        exit 1
       fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-       (dirname "$dst") 2>/dev/null ||
-       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-            X"$dst" : 'X\(//\)[^/]' \| \
-            X"$dst" : 'X\(//\)$' \| \
-            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-       echo X"$dst" |
-           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)[^/].*/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\).*/{
-                  s//\1/
-                  q
-                }
-                s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
+      dst=$dst/`basename "$src"`
     fi
   fi
 
-  obsolete_mkdir_used=false
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-       # Create intermediate dirs using mode 755 as modified by the umask.
-       # This is like FreeBSD 'install' as of 1997-10-28.
-       umask=`umask`
-       case $stripcmd.$umask in
-         # Optimize common cases.
-         *[2367][2367]) mkdir_umask=$umask;;
-         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+  # Make sure that the destination directory exists.
 
-         *[0-7])
-           mkdir_umask=`expr $umask + 22 \
-             - $umask % 100 % 40 + $umask % 20 \
-             - $umask % 10 % 4 + $umask % 2
-           `;;
-         *) mkdir_umask=$umask,go-w;;
-       esac
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+        '
+    IFS="${IFS-$defaultIFS}"
 
-       # With -d, create the new directory with the user-specified mode.
-       # Otherwise, rely on $mkdir_umask.
-       if test -n "$dir_arg"; then
-         mkdir_mode=-m$mode
-       else
-         mkdir_mode=
-       fi
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@[EMAIL PROTECTED]' -e '[EMAIL 
PROTECTED]@/@'`
+    shift
+    IFS=$oIFS
 
-       posix_mkdir=false
-       case $umask in
-         *[123567][0-7][0-7])
-           # POSIX mkdir -p sets u+wx bits regardless of umask, which
-           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-           ;;
-         *)
-           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+    pathcomp=
 
-           if (umask $mkdir_umask &&
-               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-           then
-             if test -z "$dir_arg" || {
-                  # Check for POSIX incompatibilities with -m.
-                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
-                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                  case $ls_ld_tmpdir in
-                    d????-?r-*) different_mode=700;;
-                    d????-?--*) different_mode=755;;
-                    *) false;;
-                  esac &&
-                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                  }
-                }
-             then posix_mkdir=:
-             fi
-             rmdir "$tmpdir/d" "$tmpdir"
-           else
-             # Remove any dirs left behind by ancient mkdir implementations.
-             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-           fi
-           trap '' 0;;
-       esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-       umask $mkdir_umask &&
-       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-       /*) prefix=/ ;;
-       -*) prefix=./ ;;
-       *)  prefix= ;;
-      esac
-
-      case $posix_glob in
-        '')
-         if (set -f) 2>/dev/null; then
-           posix_glob=true
-         else
-           posix_glob=false
-         fi ;;
-      esac
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob && set -f
-      set fnord $dstdir
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
       shift
-      $posix_glob && set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-       test -z "$d" && continue
-
-       prefix=$prefix$d
-       if test -d "$prefix"; then
-         prefixes=
-       else
-         if $posix_mkdir; then
-           (umask=$mkdir_umask &&
-            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-           # Don't fail if two instances are running concurrently.
-           test -d "$prefix" || exit 1
-         else
-           case $prefix in
-             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-             *) qprefix=$prefix;;
-           esac
-           prefixes="$prefixes '$qprefix'"
-         fi
-       fi
-       prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-       # Don't fail if two instances are running concurrently.
-       (umask $mkdir_umask &&
-        eval "\$doit_exec \$mkdirprog $prefixes") ||
-         test -d "$dstdir" || exit 1
-       obsolete_mkdir_used=true
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+       # mkdir can fail with a `File exist' error in case several
+       # install-sh are creating the directory concurrently.  This
+       # is OK.
+       test -d "$pathcomp" || exit
       fi
-    fi
+      pathcomp=$pathcomp/
+    done
   fi
 
   if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
   else
+    dstfile=`basename "$dst"`
 
     # Make a couple of temp file names in the proper directory.
     dsttmp=$dstdir/_inst.$$_
@@ -449,9 +262,10 @@
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
 
     # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+    $doit $cpprog "$src" "$dsttmp" &&
 
     # and set any options; do chmod last to preserve setuid bits.
     #
@@ -462,10 +276,10 @@
     { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
       && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
       && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
-      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
 
     # Now rename the file to the real destination.
-    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
       || {
           # The rename failed, perhaps because mv can't rename something else
           # to itself, or perhaps because mv is so ancient that it does not
@@ -477,12 +291,11 @@
           # reasons.  In this case, the final cleanup might fail but the new
           # file should still install successfully.
           {
-            if test -f "$dst"; then
-              $doit $rmcmd -f "$dst" 2>/dev/null \
-              || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
-                    && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+            if test -f "$dstdir/$dstfile"; then
+              $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+              || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
               || {
-                echo "$0: cannot unlink or rename $dst" >&2
+                echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
                 (exit 1); exit 1
               }
             else
@@ -491,14 +304,17 @@
           } &&
 
           # Now rename the file to the real destination.
-          $doit $mvcmd "$dsttmp" "$dst"
+          $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
         }
-    } || exit 1
-
-    trap '' 0
-  fi
+    }
+  fi || { (exit 1); exit 1; }
 done
 
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="

Modified: xarchiver/trunk/missing
===================================================================
--- xarchiver/trunk/missing     2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/missing     2007-09-18 12:54:21 UTC (rev 26087)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2006-05-10.23
+scriptversion=2005-06-08.21
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <[EMAIL PROTECTED]>, 1996.
 
@@ -33,8 +33,6 @@
 fi
 
 run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
 # In the cases where this matters, `missing' is being run in the
 # srcdir already.
@@ -46,7 +44,7 @@
 
 msg="missing on your system"
 
-case $1 in
+case "$1" in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
@@ -79,7 +77,6 @@
   aclocal      touch file \`aclocal.m4'
   autoconf     touch file \`configure'
   autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
   automake     touch all \`Makefile.in' files
   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
   flex         create \`lex.yy.c', if possible, from existing .c
@@ -109,7 +106,7 @@
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
 # the program).
-case $1 in
+case "$1" in
   lex|yacc)
     # Not GNU programs, they don't have --version.
     ;;
@@ -138,7 +135,7 @@
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case $1 in
+case "$1" in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -167,7 +164,7 @@
     test -z "$files" && files="config.h"
     touch_files=
     for f in $files; do
-      case $f in
+      case "$f" in
       *:*) touch_files="$touch_files "`echo "$f" |
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;
@@ -195,8 +192,8 @@
          You can get \`$1' as part of \`Autoconf' from any GNU
          archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
     if test -f "$file"; then
        touch $file
     else
@@ -217,25 +214,25 @@
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-       case $LASTARG in
+       case "$LASTARG" in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" y.tab.c
            fi
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" y.tab.h
            fi
          ;;
        esac
     fi
-    if test ! -f y.tab.h; then
+    if [ ! -f y.tab.h ]; then
        echo >y.tab.h
     fi
-    if test ! -f y.tab.c; then
+    if [ ! -f y.tab.c ]; then
        echo 'main() { return 0; }' >y.tab.c
     fi
     ;;
@@ -247,18 +244,18 @@
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-       case $LASTARG in
+       case "$LASTARG" in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
+           if [ -f "$SRCFILE" ]; then
                 cp "$SRCFILE" lex.yy.c
            fi
          ;;
        esac
     fi
-    if test ! -f lex.yy.c; then
+    if [ ! -f lex.yy.c ]; then
        echo 'main() { return 0; }' >lex.yy.c
     fi
     ;;
@@ -270,9 +267,11 @@
         \`Help2man' package in order for those modifications to take
         effect.  You can get \`Help2man' from any GNU archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+       file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
        touch $file
     else
        test -z "$file" || exec >$file
@@ -290,17 +289,11 @@
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
       # ... or it is the one specified with @setfilename ...
       infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /[EMAIL PROTECTED]/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
+      file=`sed -n '/[EMAIL PROTECTED]/ { s/.* \([^ ]*\) *$/\1/; p; q; }' 
$infile`
       # ... or it is derived from the source name (dir/f.texi becomes f.info)
       test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
@@ -324,13 +317,13 @@
     fi
     firstarg="$1"
     if shift; then
-       case $firstarg in
+       case "$firstarg" in
        *o*)
            firstarg=`echo "$firstarg" | sed s/o//`
            tar "$firstarg" "$@" && exit 0
            ;;
        esac
-       case $firstarg in
+       case "$firstarg" in
        *h*)
            firstarg=`echo "$firstarg" | sed s/h//`
            tar "$firstarg" "$@" && exit 0

Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c       2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/archive.c       2007-09-18 12:54:21 UTC (rev 26087)
@@ -407,6 +407,7 @@
                        last_entry = xa_find_archive_entry(NULL,full_path_name);
                if (last_entry == NULL)
                {
+                       //g_print ("prendo %s da %s\n",full_path_name,filename);
                        last_entry = 
xa_alloc_memory_for_each_row(archive->nc,archive->column_types);
                        last_entry->filename = g_strdup(full_path_name);
                        last_entry->columns = 
xa_fill_archive_entry_columns_for_each_row(archive,last_entry,items);
@@ -419,9 +420,11 @@
                while ( (p = strchr(p,'/')) )
                {
                        full_path_name = g_strndup(filename,(p-filename));
+
                        child_entry = 
xa_find_archive_entry(last_entry,full_path_name);
                        if (child_entry == NULL)
                        {
+                               //g_print ("w: prendo %s da 
%s\n",full_path_name,p);
                                child_entry = xa_alloc_memory_for_each_row 
(archive->nc,archive->column_types);
                                child_entry->filename = 
g_strdup(full_path_name);
                                child_entry->columns = 
xa_fill_archive_entry_columns_for_each_row(archive,child_entry,items);
@@ -630,6 +633,8 @@
 
 void xa_entries_to_filelist(XEntry *entry,GSList **p_file_list,gchar 
*current_path)
 {
+       gchar *full_path = NULL;
+
     if (entry == NULL)
         return;
 
@@ -643,10 +648,15 @@
         xa_entries_to_filelist(entry->child, p_file_list, extended_path);
         g_free(extended_path);
     }
+    /* This is a file, add this entry with a full pathname */
     else
     {
-        /* This is a file, add this entry with a full pathname */
-        gchar *full_path = g_strconcat(current_path,"/",entry->filename,NULL);
+        /* This in case the files are in the root directory */
+        if (strlen(current_path) == 0)
+               full_path = g_strdup(entry->filename);
+        else
+               full_path = g_strconcat(current_path,"/",entry->filename,NULL);
+
         *p_file_list = g_slist_append(*p_file_list, full_path);
     }
 

Modified: xarchiver/trunk/src/archive.h
===================================================================
--- xarchiver/trunk/src/archive.h       2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/archive.h       2007-09-18 12:54:21 UTC (rev 26087)
@@ -113,8 +113,6 @@
        void (*parse_output) (gchar *line, gpointer data);
 };
 
-GHashTable *filename_paths_buffer;
-gchar 
*system_id,*volume_id,*publisher_id,*preparer_id,*application_id,*creation_date,*modified_date,*expiration_date,*effective_date;
 void xa_spawn_async_process (XArchive *archive, gchar *command , gboolean 
input);
 XArchive *xa_init_archive_structure ();
 void xa_clean_archive_structure ( XArchive *archive);

Modified: xarchiver/trunk/src/extract_dialog.c
===================================================================
--- xarchiver/trunk/src/extract_dialog.c        2007-09-17 12:19:42 UTC (rev 
26086)
+++ xarchiver/trunk/src/extract_dialog.c        2007-09-18 12:54:21 UTC (rev 
26087)
@@ -317,7 +317,7 @@
 
                        case GTK_RESPONSE_OK:
                        destination_path = g_strdup (gtk_entry_get_text ( 
GTK_ENTRY (dialog_data->destination_path_entry) ));
-                       archive->extraction_path = EscapeBadChars ( 
destination_path , "$\'`\"\\!?* ()&|@#:;" );
+                       archive->extraction_path = xa_escape_bad_chars ( 
destination_path , "$\'`\"\\!?* ()&|@#:;" );
 
                        if ( strlen ( archive->extraction_path ) == 0 )
                        {
@@ -388,7 +388,6 @@
                                        Update_StatusBar ( text );
                                        g_free (text);
                                }
-                               g_free (destination_path);
                    tar = g_find_program_in_path ("gtar");
                        if (tar == NULL)
                                tar = g_strdup ("tar");
@@ -576,6 +575,7 @@
                        }
                }
        }
+       g_free (destination_path);
        return command;
 }
 
@@ -635,7 +635,7 @@
                }
                else
                {
-                       xa_extract_tar_without_directories ( "tar -xvf " , 
archive,archive->escaped_path,FALSE );
+                       xa_extract_tar_without_directories ( "tar -xvf " , 
archive,path,FALSE );
                        command = NULL;
                }
                break;
@@ -650,7 +650,7 @@
                }
                else
                {
-                       xa_extract_tar_without_directories ( "tar -xjvf " , 
archive,archive->escaped_path,FALSE );
+                       xa_extract_tar_without_directories ( "tar -xjvf " , 
archive,path,FALSE );
                        command = NULL;
                }
                break;
@@ -665,7 +665,7 @@
                }
                else
                {
-                       xa_extract_tar_without_directories ( "tar -xzvf " , 
archive,archive->escaped_path,FALSE );
+                       xa_extract_tar_without_directories ( "tar -xzvf " , 
archive,path,FALSE );
                        command = NULL;
                }
                break;
@@ -680,7 +680,7 @@
                }
                else
                {
-                       xa_extract_tar_without_directories ( "tar 
--use-compress-program=lzma -xvf " , archive,archive->escaped_path,FALSE );
+                       xa_extract_tar_without_directories ( "tar 
--use-compress-program=lzma -xvf " , archive,path,FALSE );
                        command = NULL;
                }
                break;
@@ -779,6 +779,7 @@
 {
        gchar *command = NULL;
        gchar *name = NULL;
+       gchar *_name = NULL;
        gchar *permission = NULL;
        gchar tmp_dir[14] = "";
        GtkTreeSelection *selection;
@@ -800,17 +801,16 @@
                while (row_list)
                {
                        gtk_tree_model_get_iter(archive->model, &iter, 
row_list->data);
-                       gtk_tree_model_get (archive->model, &iter,
-                                                               1, &name,
-                                                               3, &permission,
-                                                               -1);
+                       gtk_tree_model_get (archive->model, &iter,1, &name,3, 
&permission,-1);
                        gtk_tree_path_free (row_list->data);
 
                        if (strstr (permission ,"d") == NULL)
                        {
-                               //concatena il percorso nella barra degli 
indirizzi col nome dei files selezionato e mettilo in name
-                               ConcatenateFileNames2 ( name , names );
-                               filenames = g_slist_append ( filenames,name );
+                               _name = g_strconcat 
(gtk_entry_get_text(GTK_ENTRY(location_entry)),name,NULL);
+                               g_free (name);
+                               name = _name;
+                               xa_concat_filenames (name,names);
+                               xxx = g_slist_append (xxx,name);
                        }
                        g_free (permission);
                        row_list = row_list->next;
@@ -830,7 +830,7 @@
                }
        }
        filenames = g_slist_reverse(xxx);
-       
+
        result = xa_create_temp_directory (tmp_dir);
        if (result == 0)
                return FALSE;
@@ -846,7 +846,6 @@
                                                                                
archive->overwrite ? " --overwrite" : " --keep-old-files",
                                                                                
archive->tar_touch ? " --touch" : "",
                                                                                
" -C " , tmp_dir , names->str, NULL );
-       g_print ("%s\n",command);
        result = xa_run_command (archive,command,0);
        g_string_free (names, TRUE);
        g_free (command);
@@ -861,7 +860,7 @@
        chdir (archive->tmp);
        while (filenames)
        {
-               gchar *unescaped = EscapeBadChars ( (gchar*)filenames->data , 
"$\'`\"\\!?* ()[]&|@#:;");
+               gchar *unescaped = xa_escape_bad_chars ( 
(gchar*)filenames->data , "$\'`\"\\!?* ()[]&|@#:;");
                g_string_prepend ( unescaped_names, unescaped );
                g_string_prepend_c (unescaped_names, ' ');
                g_free (unescaped);

Modified: xarchiver/trunk/src/main.c
===================================================================
--- xarchiver/trunk/src/main.c  2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/main.c  2007-09-18 12:54:21 UTC (rev 26087)
@@ -123,7 +123,7 @@
                                        GString *string = g_string_new ( "" );
                                        archive_cmd->full_path = 1;
                                        archive_cmd->overwrite = 1;
-                                       gchar *escaped_path = EscapeBadChars 
(extract_path , "$\'`\"\\!?* ()[]&|@#:;");
+                                       gchar *escaped_path = 
xa_escape_bad_chars (extract_path , "$\'`\"\\!?* ()[]&|@#:;");
                                        archive_cmd->extraction_path = g_strdup 
(extract_path);
                                        cli_command = xa_extract_single_files ( 
archive_cmd , string, escaped_path );
                                        g_free (escaped_path);
@@ -175,14 +175,14 @@
                                if ( g_file_test ( 
archive_name,G_FILE_TEST_EXISTS) )
                                {
                                        _current_dir = g_path_get_basename ( 
archive_name );
-                                       ConcatenateFileNames2 ( _current_dir, 
string );
+                                       xa_concat_filenames ( _current_dir, 
string );
                                        g_free (_current_dir);
                                }
 
                                for (x = 1; x< argc; x++)
                                {
                                        _current_dir = g_path_get_basename ( 
argv[x] );
-                                       ConcatenateFileNames2 ( _current_dir, 
string );
+                                       xa_concat_filenames ( _current_dir, 
string );
                                        g_free (_current_dir);
                                }
 
@@ -475,7 +475,7 @@
                return NULL;
        }
        archive_cmd->path = g_strdup (filename);
-       archive_cmd->escaped_path = EscapeBadChars(filename , "$\'`\"\\!?* 
()&|@#:;");
+       archive_cmd->escaped_path = xa_escape_bad_chars(filename , "$\'`\"\\!?* 
()&|@#:;");
        archive_cmd->type = type;
 
        if ( g_str_has_suffix ( archive_cmd->escaped_path , ".tar.bz2") || 
g_str_has_suffix ( archive_cmd->escaped_path , ".tar.bz") || g_str_has_suffix ( 
archive_cmd->escaped_path , ".tbz") || g_str_has_suffix ( 
archive_cmd->escaped_path , ".tbz2" ) )

Modified: xarchiver/trunk/src/new_dialog.c
===================================================================
--- xarchiver/trunk/src/new_dialog.c    2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/new_dialog.c    2007-09-18 12:54:21 UTC (rev 26087)
@@ -226,7 +226,7 @@
 
                gtk_widget_destroy (xa_file_chooser);
                archive->path = g_strdup (my_path);
-               archive->escaped_path = EscapeBadChars (archive->path , 
"$\'`\"\\!?* ()&|@#:;");
+               archive->escaped_path = xa_escape_bad_chars (archive->path , 
"$\'`\"\\!?* ()&|@#:;");
                g_free (my_path);
                return archive;
        }

Modified: xarchiver/trunk/src/pref_dialog.c
===================================================================
--- xarchiver/trunk/src/pref_dialog.c   2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/pref_dialog.c   2007-09-18 12:54:21 UTC (rev 26087)
@@ -303,7 +303,7 @@
 
 void xa_prefs_dialog_set_default_options(Prefs_dialog_data *prefs_data)
 {
-       gtk_combo_box_set_active 
(GTK_COMBO_BOX(prefs_data->combo_prefered_format),2);
+       gtk_combo_box_set_active 
(GTK_COMBO_BOX(prefs_data->combo_prefered_format),0);
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON 
(prefs_data->confirm_deletion),TRUE);
 
        gtk_combo_box_set_active 
(GTK_COMBO_BOX(prefs_data->combo_archive_view),0);
@@ -522,4 +522,6 @@
        else
                gtk_widget_hide (toolbar2);
        
+       /*renderer = gtk_cell_renderer_pixbuf_new();
+       g_object_set(G_OBJECT(renderer), "stock-size", (3 - 
gtk_combo_box_get_active(GTK_COMBO_BOX(prefs_window->combo_icon_size))), 
NULL);*/
 }

Modified: xarchiver/trunk/src/rar.c
===================================================================
--- xarchiver/trunk/src/rar.c   2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/rar.c   2007-09-18 12:54:21 UTC (rev 26087)
@@ -95,7 +95,7 @@
                        last_line = TRUE;
                        return;
                }
-               line[linesize - 2] = '\0';
+               line[linesize - 1] = '\0';
                filename = g_strdup(line+1);
                read_filename = TRUE;
        }

Modified: xarchiver/trunk/src/string_utils.c
===================================================================
--- xarchiver/trunk/src/string_utils.c  2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/string_utils.c  2007-09-18 12:54:21 UTC (rev 26087)
@@ -86,9 +86,9 @@
 }
 #endif /* !HAVE_STRCASESTR */
 
-gchar *EscapeBadChars ( gchar *string , gchar *pattern)
+gchar *xa_escape_bad_chars ( gchar *string , gchar *pattern)
 {
-       return escape_str_common (string, pattern, '\\', 0);
+       return xa_escape_common_chars (string, pattern, '\\', 0);
 }
 
 gchar *JoinPathArchiveName ( const gchar *extract_path , gchar *path )
@@ -192,7 +192,7 @@
                }
        return n;
 }
-char *escape_str_common (const char *str, const char *meta_chars, const char  
prefix, const char  postfix)
+char *xa_escape_common_chars (const char *str, const char *meta_chars, const 
char  prefix, const char  postfix)
 {
         int         meta_chars_n = strlen (meta_chars);
         char       *escaped;
@@ -271,7 +271,7 @@
     gchar *local_escaped_path;
 
     local_path = g_path_get_dirname (path);
-    local_escaped_path = EscapeBadChars ( local_path ,"$\'`\"\\!?* 
()[]&|@#:;");
+    local_escaped_path = xa_escape_bad_chars ( local_path ,"$\'`\"\\!?* 
()[]&|@#:;");
     g_free (local_path);
     return local_escaped_path;
 }

Modified: xarchiver/trunk/src/string_utils.h
===================================================================
--- xarchiver/trunk/src/string_utils.h  2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/string_utils.h  2007-09-18 12:54:21 UTC (rev 26087)
@@ -29,13 +29,13 @@
 #ifndef HAVE_MKDTEMP
 char *mkdtemp (gchar *tmpl);
 #endif
-gchar *EscapeBadChars ( gchar *string , gchar *pattern);
+gchar *xa_escape_bad_chars ( gchar *string , gchar *pattern);
 gchar *JoinPathArchiveName ( const gchar *extract_path , gchar *path );
 int CountCharacter ( gchar *string , int chr );
 gchar *RemoveBackSlashes ( gchar *name);
 char *get_last_field (char *line,int last_field);
 char **split_line (char *line,int n_fields);
-char *escape_str_common (const char *str, const char *meta_chars, const char  
prefix, const char  postfix);
+char *xa_escape_common_chars (const char *str, const char *meta_chars, const 
char  prefix, const char  postfix);
 char *eat_spaces (char *line);
 gchar *xa_get_parent_dir (const gchar *current_dir);
 gchar *remove_level_from_path (const gchar *path);

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c        2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/window.c        2007-09-18 12:54:21 UTC (rev 26087)
@@ -292,7 +292,7 @@
 
        archive[current_page]->type = type;
        archive[current_page]->path = g_strdup (path);
-       archive[current_page]->escaped_path = EscapeBadChars ( 
archive[current_page]->path , "$\'`\"\\!?* ()&|@#:;" );
+       archive[current_page]->escaped_path = xa_escape_bad_chars ( 
archive[current_page]->path , "$\'`\"\\!?* ()&|@#:;" );
        archive[current_page]->status = XA_ARCHIVESTATUS_OPEN;
        xa_add_page (archive[current_page]);
 
@@ -729,7 +729,7 @@
                                Update_StatusBar ( _("Operation canceled."));
                                return;
                        }
-                       archive_name_escaped = EscapeBadChars ( archive_name 
,"$\'`\"\\!?* ()[]&|@#:;" );
+                       archive_name_escaped = xa_escape_bad_chars ( 
archive_name ,"$\'`\"\\!?* ()[]&|@#:;" );
                        unzipsfx_path = g_find_program_in_path ( "unzipsfx" );
                        if ( unzipsfx_path != NULL )
                        {
@@ -805,7 +805,7 @@
                                Update_StatusBar ( _("Operation canceled."));
                                return;
                        }
-                       archive_name_escaped = EscapeBadChars ( archive_name 
,"$\'`\"\\!?* ()[]&|@#:;" );
+                       archive_name_escaped = xa_escape_bad_chars ( 
archive_name ,"$\'`\"\\!?* ()[]&|@#:;" );
 
                        if (g_file_test ( "/usr/lib/p7zip/7zCon.sfx" , 
G_FILE_TEST_EXISTS) )
                                sfx_path = g_strdup("/usr/lib/p7zip/7zCon.sfx");
@@ -1539,7 +1539,7 @@
        }
 }
 
-void ConcatenateFileNames2 (gchar *filename , GString *data)
+void xa_concat_filenames (gchar *filename , GString *data)
 {
        gchar *esc_filename = NULL;
        gchar *escaped = NULL;
@@ -1550,19 +1550,19 @@
        current_page = gtk_notebook_get_current_page (notebook);
        idx = xa_find_archive_index (current_page);
 
-       if ( strstr (filename, "[") || strstr (filename, "]"))
+       if (strstr(filename,"[") || strstr (filename, "]"))
        {
                if (archive[idx]->type == XARCHIVETYPE_ZIP)
                {
                        if (archive[idx]->status == XA_ARCHIVESTATUS_ADD)
                        {
-                               esc_filename = EscapeBadChars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;" );
+                               esc_filename = xa_escape_bad_chars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;" );
                                g_string_prepend (data, esc_filename);
                        }
                        else
                        {
-                               escaped = EscapeBadChars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;");
-                               escaped2 = escape_str_common (escaped , "*?[]", 
'\\', 0);
+                               escaped = xa_escape_bad_chars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;");
+                               escaped2 = xa_escape_common_chars (escaped , 
"*?[]", '\\', 0);
                                g_free (escaped);
                                esc_filename = escaped2;
                                g_string_prepend (data, esc_filename);
@@ -1572,13 +1572,13 @@
                {
                        if (archive[idx]->status == XA_ARCHIVESTATUS_ADD)
                        {
-                               esc_filename = EscapeBadChars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;" );
+                               esc_filename = xa_escape_bad_chars ( filename 
,"$\'`\"\\!?* ()[]&|@#:;" );
                                g_string_prepend (data, esc_filename);
                        }
                        else
                        {
-                               escaped = EscapeBadChars ( filename ,"?*\\'& 
!|()@#:;");
-                               escaped2 = escape_str_common ( escaped , "[]", 
'[', ']');
+                               escaped = xa_escape_bad_chars ( filename 
,"?*\\'& !|()@#:;");
+                               escaped2 = xa_escape_common_chars ( escaped , 
"[]", '[', ']');
                                g_free (escaped);
                                esc_filename = escaped2;
                                g_string_prepend (data, esc_filename);
@@ -1587,7 +1587,7 @@
        }
        else
        {
-               esc_filename = EscapeBadChars ( filename , "$\'`\"\\!?* 
()[]&|@#:;" );
+               esc_filename = xa_escape_bad_chars ( filename , "$\'`\"\\!?* 
()[]&|@#:;" );
                g_string_prepend (data, esc_filename);
        }
        g_string_prepend_c (data, ' ');
@@ -1599,7 +1599,7 @@
        gchar *filename = NULL;
 
        gtk_tree_model_get (model, iter, 0, &filename, -1);
-       ConcatenateFileNames2 ( filename , data );
+       xa_concat_filenames ( filename , data );
        g_free (filename);
 }
 
@@ -1611,7 +1611,7 @@
        gtk_tree_model_get (model, iter, 1, &fullname, -1);
        name = g_path_get_basename ( fullname );
 
-       ConcatenateFileNames2 ( name , data );
+       xa_concat_filenames ( name , data );
        g_free (fullname);
 }
 
@@ -1620,7 +1620,7 @@
        gchar *fullname;
 
        gtk_tree_model_get (model, iter, 1, &fullname, -1);
-       ConcatenateFileNames2 ( fullname , data );
+       xa_concat_filenames ( fullname , data );
        g_free (fullname);
 }
 
@@ -1844,7 +1844,7 @@
                filename = g_filename_from_uri ( array[len] , NULL, NULL );
                name = g_path_get_basename ( filename );
                g_free (filename);
-               ConcatenateFileNames2 ( name, names );
+               xa_concat_filenames ( name, names );
                g_free (name);
                len++;
        }

Modified: xarchiver/trunk/src/window.h
===================================================================
--- xarchiver/trunk/src/window.h        2007-09-17 12:19:42 UTC (rev 26086)
+++ xarchiver/trunk/src/window.h        2007-09-18 12:54:21 UTC (rev 26087)
@@ -93,7 +93,7 @@
 void xa_remove_columns();
 void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 void ConcatenateFileNames (GtkTreeModel *model, GtkTreePath *treepath, 
GtkTreeIter *iter, GString *data);
-void ConcatenateFileNames2 (gchar *filename , GString *data);
+void xa_concat_filenames (gchar *filename , GString *data);
 void xa_cat_filenames (GtkTreeModel *model, GtkTreePath *treepath, GtkTreeIter 
*iter, GString *data);
 void xa_cat_filenames_basename (GtkTreeModel *model, GtkTreePath *treepath, 
GtkTreeIter *iter, GString *data);
 void xa_disable_delete_view_buttons (gboolean value);

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to