Calling dirname and basename is costly, and here we really don't have
to. We can simply use a different temporary file name.

Additionally, if stat succeeds, it will always return a valid number,
so we can relax the tests.

Signed-off-by: Jean Delvare <[email protected]>
Reviewed-by: Raphael Hertzog <[email protected]>
---
 quilt/scripts/backup-files.in |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -47,14 +47,11 @@ usage () {
 
 ensure_nolinks() {
        local filename="$1"
-       local link_count dirname basename tmpname
+       local link_count tmpname
 
        link_count=$(stat @STAT_HARDLINK@ "$filename")
-       if [ -z "$link_count" ] || [ "$link_count" -gt 1 ]; then
-               dirname=$(dirname "$filename")
-               basename=$(basename "$filename")
-               # Temp file name is "path/to/.file.XXXXXX"
-               tmpname=$(mktemp "${dirname}/.${basename}.XXXXXX")
+       if [ $link_count -gt 1 ]; then
+               tmpname=$(mktemp "$filename.XXXXXX")
                cp -p "$filename" "$tmpname"
                mv "$tmpname" "$filename"
        fi


_______________________________________________
Quilt-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/quilt-dev

Reply via email to