From c09c24932066ecee81756adf2fca840b7c146e9d Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Thu, 8 Jun 2017 14:45:39 +0200
Subject: [PATCH] gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.

* gnulib-tool (func_ln_s): Determine cp_src correctly.
---
 ChangeLog   | 5 +++++
 gnulib-tool | 8 ++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index af6de61113..7601a1c245 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-08  Bruno Haible  <bruno@clisp.org>
+
+	gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
+	* gnulib-tool (func_ln_s): Determine cp_src correctly.
+
 2017-06-07  Bruno Haible  <bruno@clisp.org>
 
 	canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
diff --git a/gnulib-tool b/gnulib-tool
index a0dc0372e2..e3364667c9 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -784,9 +784,13 @@ func_ln_s ()
 
     case "$1" in
       /* | ?:*) # SRC is absolute.
-        cp_src=$1 ;;
+        cp_src="$1" ;;
       *) # SRC is relative to the directory of DEST.
-        cp_src=${2%/*}/$1 ;;
+        case "$2" in
+          */*) cp_src="${2%/*}/$1" ;;
+          *)   cp_src="$1" ;;
+        esac
+        ;;
     esac
 
     cp -p "$cp_src" "$2"
-- 
2.39.5