]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(linkfunc): Remove. This method ran into a compiler/linker
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 12 Apr 2006 20:14:01 +0000 (20:14 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 12 Apr 2006 20:14:01 +0000 (20:14 +0000)
bug in Interix.  Just call symlink or link directly.  All uses changed.

src/ln.c

index 49163fde6bcd22d43f91fec37914eb948eea451c..e0230b204cd60b638365f83a9504a7e9a37c8216 100644 (file)
--- a/src/ln.c
+++ b/src/ln.c
@@ -60,10 +60,6 @@ char *program_name;
 /* FIXME: document */
 static enum backup_type backup_type;
 
-/* A pointer to the function used to make links.  This will point to either
-   `link' or `symlink'. */
-static int (*linkfunc) ();
-
 /* If true, make symbolic links; otherwise, make hard links.  */
 static bool symbolic_link;
 
@@ -241,7 +237,8 @@ do_link (const char *source, const char *dest)
        }
     }
 
-  ok = (linkfunc (source, dest) == 0);
+  ok = ((symbolic_link ? symlink (source, dest) : link (source, dest))
+       == 0);
 
   /* If the attempt to create a link failed and we are removing or
      backing up destinations, unlink the destination and try again.
@@ -270,7 +267,8 @@ do_link (const char *source, const char *dest)
          return false;
        }
 
-      ok = (linkfunc (source, dest) == 0);
+      ok = ((symbolic_link ? symlink (source, dest) : link (source, dest))
+           == 0);
     }
 
   if (ok)
@@ -506,11 +504,6 @@ main (int argc, char **argv)
               quote (file[n_files - 1]));
     }
 
-  if (symbolic_link)
-    linkfunc = symlink;
-  else
-    linkfunc = link;
-
   if (backup_suffix_string)
     simple_backup_suffix = xstrdup (backup_suffix_string);