From 4d9522764985462741c7bb4af1ab231b9251476b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 10 Jan 2018 00:41:43 -0500 Subject: [PATCH] dtdiff: change to POSIX shell This changes from the bash-specific process substitution feature to reading with pipes. It relies on /dev/fd or /proc/self/fd existing. URL: https://crbug.com/756559 Signed-off-by: Mike Frysinger --- dtdiff | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/dtdiff b/dtdiff index 5fa772b0ab62..4d1b71756c2f 100644 --- a/dtdiff +++ b/dtdiff @@ -1,8 +1,4 @@ -#! /bin/bash - -# This script uses the bash <(...) extension. -# If you want to change this to work with a generic /bin/sh, make sure -# you fix that. +#! /bin/sh DTC=dtc @@ -35,4 +31,15 @@ if [ $# != 2 ]; then exit 1 fi -diff -u <(source_and_sort "$1") <(source_and_sort "$2") +for dir in /dev/fd /proc/self/fd; do + if [ -d "${dir}" ]; then + break + fi +done + +source_and_sort "$1" | ( + # Duplicate current stdin from the first file to fd 3 so we can change fd 0 + # to the second file. + exec 3<&0 + source_and_sort "$2" | diff -u "${dir}/3" "${dir}/0" +) -- 2.15.1