[CRIU] [PATCH v2] Remove \u and \U GNU-isms from sed command

Christopher Covington cov at codeaurora.org
Mon Feb 10 15:47:14 PST 2014


This allows building with busybox sed, for example.

Signed-off-by: Christopher Covington <cov at codeaurora.org>
---
 scripts/protobuf-gen.sh | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/scripts/protobuf-gen.sh b/scripts/protobuf-gen.sh
index dad8d12..fb753c5 100644
--- a/scripts/protobuf-gen.sh
+++ b/scripts/protobuf-gen.sh
@@ -1,7 +1,19 @@
-for x in $(cat include/protobuf-desc.h | \
-		sed -n '/PB_AUTOGEN_START/,/PB_AUTOGEN_STOP/p' | \
-		fgrep -v 'PB_AUTOGEN_S' | sed -e 's/,.*$//' -e 's/PB_//'); do
-	x_la=$(echo $x | tr 'A-Z' 'a-z')
-	x_uf=$(echo $x_la | sed -e 's/^./\u&/' -e 's/_./\U&/g' -e 's/_//g')
+TR="y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
+
+for x in $(sed -n '/PB_AUTOGEN_START/,/PB_AUTOGEN_STOP/ {
+		/PB_AUTOGEN_ST/d;
+		s/,.*$//;
+		s/\tPB_//;
+		p;
+	   }' include/protobuf-desc.h); do
+	x_la=$(echo $x | sed $TR)
+	x_uf=$(echo $x | sed -nr 's/^./&#\\\
+/;
+		s/_(.)/\\\
+\1#\\\
+/g;
+		p;' | \
+		sed -r "/^[A-Z]#\\\\\$/!{ $TR; }" | \
+		sed -r ':loop; N; s/#?\\\n//; t loop')
 	echo "CR_PB_DESC($x, $x_uf, $x_la);"
 done
-- 
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by the Linux Foundation.



More information about the CRIU mailing list