applied patch 890642: wxRE_ADVANCED flag and docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
69
src/regex/splice.sh
Executable file
69
src/regex/splice.sh
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
#############################################################################
|
||||
# Name: splice
|
||||
# Purpose: Splice a marked section of regcustom.h into regex.h
|
||||
# Author: Mike Wetherell
|
||||
# RCS-ID: $Id$
|
||||
# Copyright: (c) 2004 Mike Wetherell
|
||||
# Licence: wxWindows licence
|
||||
#############################################################################
|
||||
|
||||
#
|
||||
# Works by greping for the marks then passing their line numbers to sed. Which
|
||||
# is slighly the long way round, but allows some error checking.
|
||||
#
|
||||
|
||||
SRC=regcustom.h
|
||||
DST=regex.h
|
||||
MARK1='^/\* --- begin --- \*/$'
|
||||
MARK2='^/\* --- end --- \*/$'
|
||||
PROG=`basename $0`
|
||||
TMP=$DST.tmp
|
||||
|
||||
# findline(pattern, file)
|
||||
# Prints the line number of the 1st line matching the pattern in the file
|
||||
#
|
||||
findline() {
|
||||
if ! LINE=`grep -n -- "$1" "$2"`; then
|
||||
echo "$PROG: marker '$1' not found in '$2'" >&2
|
||||
return 1
|
||||
fi
|
||||
echo $LINE | sed -n '1s/[^0-9].*//p' # take just the line number
|
||||
}
|
||||
|
||||
# findmarkers([out] line1, [out] line2, pattern1, pattern2, file)
|
||||
# Returns (via the variables named in the 1st two parameters) the line
|
||||
# numbers of the lines matching the patterns in file. Checks pattern1 comes
|
||||
# before pattern2.
|
||||
#
|
||||
findmarkers() {
|
||||
if ! LINE1=`findline "$3" "$5"` || ! LINE2=`findline "$4" "$5"`; then
|
||||
return 1
|
||||
fi
|
||||
if [ $LINE1 -ge $LINE2 ]; then
|
||||
echo "$PROG: marker '$3' not before '$4' in '$5'" >&2
|
||||
return 1
|
||||
fi
|
||||
eval $1=$LINE1
|
||||
eval $2=$LINE2
|
||||
}
|
||||
|
||||
# find markers
|
||||
#
|
||||
if findmarkers SRCLINE1 SRCLINE2 "$MARK1" "$MARK2" $SRC &&
|
||||
findmarkers DSTLINE1 DSTLINE2 "$MARK1" "$MARK2" $DST
|
||||
then
|
||||
# do splice
|
||||
#
|
||||
if (sed $DSTLINE1,\$d $DST &&
|
||||
sed -n $SRCLINE1,${SRCLINE2}p $SRC &&
|
||||
sed 1,${DSTLINE2}d $DST) > $TMP
|
||||
then
|
||||
mv $TMP $DST
|
||||
exit 0
|
||||
else
|
||||
rm $TMP
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 1
|
||||
Reference in New Issue
Block a user