From d20ef763163ea869eb8c4f98bf3f9eb57fcb9589 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Tue, 22 Mar 2022 14:11:45 +0100 Subject: [PATCH 1/3] Fix pattern substituion (found with bash3.2.57) --- rdlink.sh | 4 ++-- test/test_rdlink.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rdlink.sh b/rdlink.sh index a51b6ed..7c85dbf 100755 --- a/rdlink.sh +++ b/rdlink.sh @@ -169,7 +169,7 @@ rl::cleanpath() { # Remove multiple / while [[ "${work:-}" = *"//"* ]]; do - work="${work//'//'/'/'}" + work="${work/\/\///}" done info " rl::cleanpath result: ${work}" @@ -191,7 +191,7 @@ rl::normalize() { # Remove /./ and /.$ sequences. rex_tmp='/\.(/|$)' while [[ "$work" =~ $rex_tmp ]]; do - work="${work/"${BASH_REMATCH[0]}"/"${BASH_REMATCH[1]/$//}"}" + work="${work/${BASH_REMATCH[0]}/${BASH_REMATCH[1]/$//}}" done # Remove leading ./ diff --git a/test/test_rdlink.sh b/test/test_rdlink.sh index e9c059a..8005157 100755 --- a/test/test_rdlink.sh +++ b/test/test_rdlink.sh @@ -47,7 +47,7 @@ rl::printPath() { local inputwidth=${config_path_width} if (( flag_extendedOutput )); then - printf -- "%-3d Inp: %-${config_path_width}s ---" ${testnum} "${input}" + printf -- "%-5d Inp: %-${config_path_width}s ---" ${testnum} "${input}" else # Truncate input string on the left if longer than $config_path_width if (( ${#input} > ${config_path_width} )) ; then @@ -97,7 +97,7 @@ rl::testcmp() { printf " %b\n" "${testresult_graphic}" if (( ! testresult )); then # Test failed - printf " Result: %s\n Exp: %s\n" "${actual}" "${expect}" + printf " Result: %s\n Exp: %s\n" "${actual}" "${expect}" if (( flag_verbose )); then [ -e "${input}" ] && printf "\n Subject:\n" && ls -al "${input}" -- 2.30.2 From 5c367b357a470bb9c655b7fc8619e0584f3d7ec7 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Tue, 22 Mar 2022 14:27:10 +0100 Subject: [PATCH 2/3] Initial changelogs --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..122a881 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,19 @@ +# Changelog + +## [0.2](https://winklerfamilie.eu/git/efelon/rdlink/releases/tag/v0.2) - 2022-03-22 + +* Fix pattern substitution bugs (found with Bash 3.2.57) +* Test successful on + * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) + GNU bash, version 3.2.57(1)-release + +## [0.1](https://winklerfamilie.eu/git/efelon/rdlink/releases/tag/v0.1) - 2022-03-22 + +* First relase +* behavior for normal cases same as readlink -f +* Tests successful on + * Raspberry Pi OS aarch64/arm64 (Debian GNU/Linux 11 (bullseye)) + GNU bash, version 5.1.4(1)-release + * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) + GNU bash, Version 5.0.17(1)-release + -- 2.30.2 From a9d0eeef5a18a64387b005e22f1858a7b6b649c4 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Tue, 22 Mar 2022 14:31:32 +0100 Subject: [PATCH 3/3] Added chapter todo --- CHANGELOG.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 122a881..c6f7cc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,23 @@ # Changelog +## Todo + +- [ ] Tests on different platforms (e.g. busybox) + ## [0.2](https://winklerfamilie.eu/git/efelon/rdlink/releases/tag/v0.2) - 2022-03-22 -* Fix pattern substitution bugs (found with Bash 3.2.57) +* Fix pattern substitution bugs (found with bash 3.2.57) * Test successful on - * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) - GNU bash, version 3.2.57(1)-release + * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) + **GNU bash, version 3.2.57** ## [0.1](https://winklerfamilie.eu/git/efelon/rdlink/releases/tag/v0.1) - 2022-03-22 * First relase * behavior for normal cases same as readlink -f * Tests successful on - * Raspberry Pi OS aarch64/arm64 (Debian GNU/Linux 11 (bullseye)) - GNU bash, version 5.1.4(1)-release - * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) - GNU bash, Version 5.0.17(1)-release + * Raspberry Pi OS aarch64/arm64 (Debian GNU/Linux 11 (bullseye)) + **GNU bash, version 5.1.4** + * Ubuntu x86_64 (Ubuntu 20.04.4 LTS) + **GNU bash, Version 5.0.17** -- 2.30.2