Home
       0012-delete.sh - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       0012-delete.sh (1687B)
       ---
            1 #!/bin/sh
            2 
            3 
            4 set -e
            5 
            6 trap "rm -f file.a" 0 2 3 15
            7 
            8 ############################################################################
            9 #delete one member
           10 
           11 cp master.a file.a
           12 
           13 scc-ar -dv file.a file2
           14 
           15 if scc-ar -tv file.a file2
           16 then
           17         echo file-2 was not deleted >&2
           18         exit 1
           19 fi
           20 
           21 
           22 ############################################################################
           23 #delete two members, 1st and 2nd
           24 
           25 cp master.a file.a
           26 
           27 scc-ar -dv file.a file1 file2
           28 
           29 if scc-ar -tv file.a file1 file2
           30 then
           31         echo file-1 or file-2 were not deleted >&2
           32         exit 1
           33 fi
           34 
           35 
           36 ############################################################################
           37 #delete two members, 2nd and 3rd
           38 
           39 cp master.a file.a
           40 scc-ar -dv  file.a file2 file3
           41 
           42 if scc-ar -tv file.a file2 file3
           43 then
           44         echo file-2 file-3 were not deleted >&2
           45         exit 1
           46 fi
           47 
           48 ############################################################################
           49 #remove all the members
           50 
           51 cp master.a file.a
           52 scc-ar -dv file.a file1 file2 file3
           53 
           54 if scc-ar -tv file.a file2 file3
           55 then
           56         echo file-1 file2 file were not deleted >&2
           57         exit 1
           58 fi
           59 
           60 if test `scc-ar -t file.a | wc -l` -ne 0
           61 then
           62         echo file.a is not empty after deleting all the members >&2
           63         exit 1
           64 fi
           65 
           66 ############################################################################
           67 #special cases
           68 
           69 #no members
           70 cp master.a file.a
           71 
           72 last=`ls -l file.a | awk '{print $6,$7,$8}'`
           73 
           74 if ! scc-ar -dv file.a
           75 then
           76         echo ar returned with error when no members
           77         exit 1
           78 fi
           79 
           80 now=`ls -l file.a | awk '{print $6,$7,$8}'`
           81 if test "$now" != "$last"
           82 then
           83         echo empty ar -d modified the archive >&2
           84         exit 1
           85 fi
           86 
           87 #delete not existing member
           88 cp master.a file.a
           89 
           90 if scc-ar -dv file.a badfile
           91 then
           92         echo ar returned ok deleting a not existing member >&2
           93         exit 1
           94 fi