[CRIU] [RFC 10/11] Remove \u and \U GNU-isms from sed command

Christopher Covington cov at codeaurora.org
Fri Feb 7 09:04:44 PST 2014


This allows building with busybox sed, for example.
---
 scripts/protobuf-gen.sh | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/scripts/protobuf-gen.sh b/scripts/protobuf-gen.sh
index dad8d12..8e4b3c4 100644
--- a/scripts/protobuf-gen.sh
+++ b/scripts/protobuf-gen.sh
@@ -1,7 +1,18 @@
+TR="y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
+
 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')
+		sed -n '/PB_AUTOGEN_START/,/PB_AUTOGEN_STOP/{
+			/PB_AUTOGET_ST/d;
+			s/,.*$//;
+			s/\tPB_//;
+			p;
+		}'); 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