Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2001-02-25 12:34:00 +0300
committerCorinna Vinschen <corinna@vinschen.de>2001-02-25 12:34:00 +0300
commit649033a811b93d7b3e77108bdfcaa33a829f9194 (patch)
treea3a2749e573b21b9ffb3ba43fb038011df1da3bd /winsup
parent80ed95f2ebe7d9351a51e00e6004ed000e597a59 (diff)
* path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/path.cc10
2 files changed, 10 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index ca0d899ba..4efcfdf3f 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,6 +1,10 @@
+Sun Feb 25 10:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
+
Sun Feb 25 10:18:00 2001 Corinna Vinschen <corinna@vinschen.de>
- * shortcut.c: Change symlink condition.
+ * shortcut.c (check_shortcut): Change symlink condition.
Fri Feb 23 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f0b48f844..681664dc0 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2202,11 +2202,9 @@ symlink (const char *topath, const char *frompath)
#if 0
path_conv win32_path (frompath, PC_SYM_NOFOLLOW);
#else
- char from[MAX_PATH];
- unsigned short len = strlen (frompath);
+ char from[MAX_PATH + 5];
strcpy (from, frompath);
- if (len <= 4 || strcasecmp (from + len - 4, ".lnk"))
- strcpy (from + len, ".lnk");
+ strcat (from, ".lnk");
path_conv win32_path (from, PC_SYM_NOFOLLOW);
path_conv win32_topath;
char cwd[MAX_PATH + 1], *cp = NULL, c = 0;
@@ -2296,7 +2294,9 @@ symlink (const char *topath, const char *frompath)
{
DWORD written;
create_shortcut_header ();
- len = strlen (topath);
+ /* Don't change the datatypes of `len' and `win_len' since
+ their sizeof is used later. */
+ unsigned short len = strlen (topath);
unsigned short win_len = strlen (w32topath);
if (WriteFile (h, shortcut_header, SHORTCUT_HDR_SIZE, &written, NULL)
&& written == SHORTCUT_HDR_SIZE