From bf74644dd8091e2ec6cc1a87736c935b0e9c1d3d Mon Sep 17 00:00:00 2001
From: andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Date: Tue, 11 Jul 2000 17:35:32 +0000
Subject: Another patch from Matt Kraai <kraai@alumni.carnegiemellon.edu>: > >
 The following patch allows ln -n to function like GNU.  It also fixes a >
 typo with my previous patch to add support for ln FILE DIRECTORY.  And > it
 removes some code that checks the maximum length of the filenames.  I > can't
 figure out why that code is necessary.  Anyone know? > > Matt

git-svn-id: svn://busybox.net/trunk/busybox@814 69ca8d6d-28ef-0310-b511-8ec308f3f277
---
 coreutils/ln.c | 29 ++---------------------------
 ln.c           | 29 ++---------------------------
 2 files changed, 4 insertions(+), 54 deletions(-)

diff --git a/coreutils/ln.c b/coreutils/ln.c
index 3c45dee33..71d84f066 100644
--- a/coreutils/ln.c
+++ b/coreutils/ln.c
@@ -92,13 +92,7 @@ extern int ln_main(int argc, char **argv)
 
 	linkName = argv[argc - 1];
 
-	if (strlen(linkName) > BUFSIZ) {
-		fprintf(stderr, name_too_long, "ln");
-		exit FALSE;
-	}
-
-	linkIntoDirFlag = isDirectory(linkName, TRUE, NULL);
-
+	linkIntoDirFlag = isDirectory(linkName, followLinks, NULL);
 	if ((argc >= 3) && linkIntoDirFlag == FALSE) {
 		fprintf(stderr, not_a_directory, "ln", linkName);
 		exit FALSE;
@@ -108,27 +102,8 @@ extern int ln_main(int argc, char **argv)
 		dirName = linkName;
 
 	while (argc-- >= 2) {
-#if 0
-		char srcName[BUFSIZ + 1];
-		int nChars;
-#endif
 		int status;
 
-		if (strlen(*argv) > BUFSIZ) {
-			fprintf(stderr, name_too_long, "ln");
-			exit FALSE;
-		}
-
-#if 0
-		if (followLinks == FALSE) {
-			strcpy(srcName, *argv);
-		} else {
-			/* Warning!  This can silently truncate if > BUFSIZ, but
-			   I don't think that there can be one > BUFSIZ anyway. */
-			nChars = readlink(*argv, srcName, BUFSIZ);
-			srcName[nChars] = '\0';
-		}
-#endif
 		if (linkIntoDirFlag == TRUE) {
 			char *baseName = get_last_path_component(*argv);
 			linkName = (char *)malloc(strlen(dirName)+strlen(baseName)+2);
@@ -155,7 +130,7 @@ extern int ln_main(int argc, char **argv)
 			exit FALSE;
 		}
 
-		if (linkIntoDirFlag)
+		if (linkIntoDirFlag == TRUE)
 			free(linkName);
 
 		argv++;
diff --git a/ln.c b/ln.c
index 3c45dee33..71d84f066 100644
--- a/ln.c
+++ b/ln.c
@@ -92,13 +92,7 @@ extern int ln_main(int argc, char **argv)
 
 	linkName = argv[argc - 1];
 
-	if (strlen(linkName) > BUFSIZ) {
-		fprintf(stderr, name_too_long, "ln");
-		exit FALSE;
-	}
-
-	linkIntoDirFlag = isDirectory(linkName, TRUE, NULL);
-
+	linkIntoDirFlag = isDirectory(linkName, followLinks, NULL);
 	if ((argc >= 3) && linkIntoDirFlag == FALSE) {
 		fprintf(stderr, not_a_directory, "ln", linkName);
 		exit FALSE;
@@ -108,27 +102,8 @@ extern int ln_main(int argc, char **argv)
 		dirName = linkName;
 
 	while (argc-- >= 2) {
-#if 0
-		char srcName[BUFSIZ + 1];
-		int nChars;
-#endif
 		int status;
 
-		if (strlen(*argv) > BUFSIZ) {
-			fprintf(stderr, name_too_long, "ln");
-			exit FALSE;
-		}
-
-#if 0
-		if (followLinks == FALSE) {
-			strcpy(srcName, *argv);
-		} else {
-			/* Warning!  This can silently truncate if > BUFSIZ, but
-			   I don't think that there can be one > BUFSIZ anyway. */
-			nChars = readlink(*argv, srcName, BUFSIZ);
-			srcName[nChars] = '\0';
-		}
-#endif
 		if (linkIntoDirFlag == TRUE) {
 			char *baseName = get_last_path_component(*argv);
 			linkName = (char *)malloc(strlen(dirName)+strlen(baseName)+2);
@@ -155,7 +130,7 @@ extern int ln_main(int argc, char **argv)
 			exit FALSE;
 		}
 
-		if (linkIntoDirFlag)
+		if (linkIntoDirFlag == TRUE)
 			free(linkName);
 
 		argv++;
-- 
cgit v1.2.3-55-g6feb