cltostr.sh: Minor fixes

This commit is contained in:
Henrik Gramner
2015-08-08 18:34:21 +02:00
committed by Anton Mitrofanov
parent 1a3d963441
commit 817a4414b9
+10 -9
View File
@@ -1,8 +1,9 @@
#!/bin/sh
# Convert standard input to a C char array, write to a file, then create an
# MD5 sum of that file and append said MD5 sum as char array to the file.
FILE=$1
[ -n "$1" ] || exit 1
# Filter out whitespace, empty lines, and comments.
sanitize() {
@@ -11,22 +12,22 @@ sanitize() {
# Convert stdin to a \0-terminated char array.
dump() {
printf 'static const char %s[] = {\n' $1
echo "static const char $1[] = {"
od -v -A n -t x1 | sed 's/[[:space:]]*\([[:alnum:]]\{2\}\)/0x\1, /g'
printf '0x00 };\n'
echo '0x00 };'
}
# Print MD5 hash w/o newline character to not embed the character in the array.
hash() {
# md5sum is not standard, so try different platform-specific alternatives.
{ md5sum $1 2> /dev/null || md5 -q $1 || digest -a md5 $1; } |
{ md5sum "$1" || md5 -q "$1" || digest -a md5 "$1"; } 2>/dev/null |
cut -b -32 | tr -d '\n\r'
}
trap "rm -f $FILE.temp" EXIT
trap 'rm -f "$1.temp"' EXIT
sanitize | tee $FILE.temp |
dump x264_opencl_source > $FILE
sanitize | tee "$1.temp" |
dump 'x264_opencl_source' > "$1"
hash $FILE.temp |
dump x264_opencl_source_hash >> $FILE
hash "$1.temp" |
dump 'x264_opencl_source_hash' >> "$1"