strtoumax: fix typo in previous commit.
[gnulib.git] / build-aux / ar-lib
index ef03430..fe2301e 100755 (executable)
@@ -2,10 +2,9 @@
 # Wrapper for Microsoft lib.exe
 
 me=ar-lib
-scriptversion=2010-08-12.16; # UTC
+scriptversion=2012-03-01.08; # UTC
 
-# Copyright (C) 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2010-2013 Free Software Foundation, Inc.
 # Written by Peter Rosin <peda@lysator.liu.se>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -42,7 +41,7 @@ file_conv=
 
 # func_file_conv build_file
 # Convert a $build file to $host form and store it in $file
-# Currently only supports Win32 hosts.
+# Currently only supports Windows hosts.
 func_file_conv ()
 {
   file=$1
@@ -99,7 +98,7 @@ func_at_file ()
 
 case $1 in
   '')
-     func_error "no command.  Try \`$0 --help' for more information."
+     func_error "no command.  Try '$0 --help' for more information."
      ;;
   -h | --h*)
     cat <<EOF
@@ -154,7 +153,9 @@ action=${action#-}
 delete=
 extract=
 list=
+quick=
 replace=
+index=
 create=
 
 while test -n "$action"
@@ -163,9 +164,13 @@ do
     d*) delete=yes  ;;
     x*) extract=yes ;;
     t*) list=yes    ;;
+    q*) quick=yes   ;;
     r*) replace=yes ;;
+    s*) index=yes   ;;
+    S*)             ;; # the index is always updated implicitly
     c*) create=yes  ;;
     u*)             ;; # TODO: don't ignore the update modifier
+    v*)             ;; # TODO: don't ignore the verbose modifier
     *)
       func_error "unknown action specified"
       ;;
@@ -173,8 +178,8 @@ do
   action=${action#?}
 done
 
-case $delete$extract$list$replace in
-  yes)
+case $delete$extract$list$quick$replace,$index in
+  yes,* | ,yes)
     ;;
   yesyes*)
     func_error "more than one action specified"
@@ -219,13 +224,13 @@ elif test -n "$extract"; then
       esac
     done
   else
-    $AR -NOLOGO -LIST "$archive" | while read member
+    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
     do
       $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
     done
   fi
 
-elif test -n "$replace"; then
+elif test -n "$quick$replace"; then
   if test ! -f "$orig_archive"; then
     if test -z "$create"; then
       echo "$me: creating $orig_archive"