opengl: VirtualGL trailing deliminator issue causing rpath skippage

Bash read returns false if trailing deliminator is not found causing
the while read -d ':' loop to not process the last rpath entry.
This commit is contained in:
Tyson Whitehead
2020-07-31 11:40:17 -04:00
parent 560abb236e
commit 12593a159a

View File

@@ -7,13 +7,13 @@ VGL_quote() {
# Stream producers # Stream producers
# #
# These produce a stream of escaped new-line separated items # These produce a stream of escaped new-line terminated items
# #
# Stream the given arguments # Stream the given arguments
# #
VGL_sourceS() { VGL_sourceS() {
printf '%q\n' "$@" (( $# == 0 )) || printf '%q\n' "$@"
} }
# Stream the results of find (correctly escapes all filenames) # Stream the results of find (correctly escapes all filenames)
@@ -61,15 +61,16 @@ VGL_elfRPathS() {
declare file=$1 entry declare file=$1 entry
patchelf --print-rpath "$file" | patchelf --print-rpath "$file" |
while read -d ':' -r entry; do while read -d ':' -r entry; do
VGL_sourceS "$entry" [[ -z $entry ]] || VGL_sourceS "$entry"
done done
[[ -z $entry ]] || VGL_sourceS "$entry"
} }
# Stream transformers # Stream transformers
# #
# Take in a set of options and transform a stream of new-line separated items # Take in a set of options and transform to a stream of new-line terminated items
# #
# Remove all items for which the given command returns false # Remove all items for which the given command returns false
@@ -111,7 +112,7 @@ VGL_testSuffixNoneS() {
# Stream consumers # Stream consumers
# #
# These consume a stream of escaped new-line separated items # These consume a stream of escaped new-line terminated items (termination is required for processing)
# #
# Return true iff given command returns true for some item # Return true iff given command returns true for some item