From 8a0005b61300850e11fe19202ccd2118736ec661 Mon Sep 17 00:00:00 2001 From: Thorsten Glaser Date: Sat, 3 May 2014 11:36:16 +0000 Subject: pass patches NUL-terminated Signed-off-by: Thorsten Glaser --- scripts/update-patches | 11 +++++++---- scripts/update-patches2 | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/update-patches b/scripts/update-patches index b7e3d485d..1d13a3901 100644 --- a/scripts/update-patches +++ b/scripts/update-patches @@ -116,7 +116,7 @@ for file in $(cd ${WRKDIST}; find . -type f | sed 's#^\./##'); do $(grep -c "^+++ $D_CMP" "$i") -gt 1 ]]; then print -ru2 -- "Cannot process, $i contains patches" print -ru2 -- "to multiple files! Aborting." - echo FAIL + print -n 'FAIL\0' [[ -n $SUBDIST ]] && mv \ "${WRKDIR1}/${SUBDIST}.orig" \ "${WRKDIR1}.orig/${SUBDIST}" @@ -137,7 +137,7 @@ for file in $(cd ${WRKDIST}; find . -type f | sed 's#^\./##'); do print -ru2 -- "Cannot process, file $file" print -ru2 -- "is contained in multiple patches:" print -ru2 -- "$pflst" - echo FAIL + print -n 'FAIL\0' [[ -n $SUBDIST ]] && mv \ "${WRKDIR1}/${SUBDIST}.orig" \ "${WRKDIR1}.orig/${SUBDIST}" @@ -150,7 +150,7 @@ for file in $(cd ${WRKDIST}; find . -type f | sed 's#^\./##'); do ( sed -e "/^--- /,\$d" <"$i"; \ cd "$D_BASE" && do_diff "$file" "$D_SUB.orig" "$D_SUB" \ ) >"$i.new" - # did it change ? mark it as changed + # did it change? mark it as changed tfile=$(print -r -- "$file" | $TRANSFORM) if eval diff "$(print -r -- "${DIFF_FLAGS}" | sed \ "s#@@#${tfile}#g")" "$i" "$i.new" 1>&2; then @@ -188,6 +188,9 @@ for i in *; do (( found )) || print -ru2 -- "*** Patch $i not accounted for" done -print -r -- "${edit[@]}" +for i in "${edit[@]}"; do + print -nr -- "$i" + print -n '\0' +done [[ -n $SUBDIST ]] && mv "${WRKDIR1}/${SUBDIST}.orig" "${WRKDIR1}.orig/${SUBDIST}" exit 0 diff --git a/scripts/update-patches2 b/scripts/update-patches2 index 8f8711af7..2b8349bcf 100644 --- a/scripts/update-patches2 +++ b/scripts/update-patches2 @@ -25,7 +25,7 @@ export CURDIR PATCH_LIST mksh "${TOPDIR}"/scripts/update-patches |& first=1 set -A toedit -while IFS= read -p -r; do +while IFS= read -p -d '' -r; do if (( first )); then if [[ $REPLY = FAIL ]]; then rm -rf "${WRKDIR1}.orig" -- cgit v1.2.3