diff -rcN fileutils-4.1.6.orig/man/ln.1 fileutils-4.1.6/man/ln.1 *** fileutils-4.1.6.orig/man/ln.1 Sun Feb 17 18:20:11 2002 --- fileutils-4.1.6/man/ln.1 Tue Mar 19 12:58:03 2002 *************** *** 23,28 **** --- 23,30 ---- .PP Mandatory arguments to long options are mandatory for short options too. .TP + A statically linked version of ln is also available, named \fBsln\fR. + .TP \fB\-\-backup\fR[=\fICONTROL\fR] make a backup of each existing destination file .TP diff -rcN fileutils-4.1.6.orig/man/mknod.1 fileutils-4.1.6/man/mknod.1 *** fileutils-4.1.6.orig/man/mknod.1 Sun Feb 17 18:20:11 2002 --- fileutils-4.1.6/man/mknod.1 Tue Mar 19 12:58:03 2002 *************** *** 15,20 **** --- 15,23 ---- \fB\-m\fR, \fB\-\-mode\fR=\fIMODE\fR set permission mode (as in chmod), not a=rw - umask .TP + \fB\-f\fR, \fB\-\-force\fR + force the creation of the device + .TP \fB\-\-help\fR display this help and exit .TP diff -rcN fileutils-4.1.6.orig/src/ln.c fileutils-4.1.6/src/ln.c *** fileutils-4.1.6.orig/src/ln.c Sun Dec 2 23:18:01 2001 --- fileutils-4.1.6/src/ln.c Tue Mar 19 12:58:03 2002 *************** *** 301,308 **** if (verbose) { printf ((symbolic_link ! ? _("create symbolic link %s to %s") ! : _("create hard link %s to %s")), quote_n (0, dest), quote_n (1, source)); if (backup_succeeded) printf (_(" (backup: %s)"), quote (dest_backup)); --- 301,308 ---- if (verbose) { printf ((symbolic_link ! ? _("creating symbolic link %s to %s") ! : _("creating hard link %s to %s")), quote_n (0, dest), quote_n (1, source)); if (backup_succeeded) printf (_(" (backup: %s)"), quote (dest_backup)); diff -rcN fileutils-4.1.6.orig/src/mknod.c fileutils-4.1.6/src/mknod.c *** fileutils-4.1.6.orig/src/mknod.c Sun Dec 2 23:16:57 2001 --- fileutils-4.1.6/src/mknod.c Tue Mar 19 12:58:03 2002 *************** *** 15,31 **** along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ! /* Usage: mknod [-m mode] [--mode=mode] path {bcu} major minor make a block or character device node ! mknod [-m mode] [--mode=mode] path p make a FIFO (named pipe) Options: -m, --mode=mode Set the mode of created nodes to MODE, which is symbolic as in chmod and uses the umask as a point of departure. ! David MacKenzie */ #include #include --- 15,36 ---- along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ! /* Usage: mknod [-m mode] [--mode=mode] [-f] [--force] path {bcu} major minor make a block or character device node ! mknod [-m mode] [--mode=mode] [-f] [--force] path p make a FIFO (named pipe) Options: -m, --mode=mode Set the mode of created nodes to MODE, which is symbolic as in chmod and uses the umask as a point of departure. + -f, --force Force the creation of the device. ! David MacKenzie ! ! Patch: ! 12-03-2001: Dirk-Jan Faber ; added --force option. ! */ #include #include *************** *** 49,54 **** --- 54,60 ---- static struct option const longopts[] = { {"mode", required_argument, NULL, 'm'}, + {"force", no_argument, NULL, 'f'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} *************** *** 73,78 **** --- 79,87 ---- fputs (_("\ -m, --mode=MODE set permission mode (as in chmod), not a=rw - umask\n\ "), stdout); + fputs (_("\ + -f, --force force the creation of the device\n\ + "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ *************** *** 95,100 **** --- 104,110 ---- struct mode_change *change; const char *specified_mode; int optc; + int force=0; mode_t node_type; program_name = argv[0]; *************** *** 106,112 **** specified_mode = NULL; ! while ((optc = getopt_long (argc, argv, "m:", longopts, NULL)) != -1) { switch (optc) { --- 116,122 ---- specified_mode = NULL; ! while ((optc = getopt_long (argc, argv, "m:f", longopts, NULL)) != -1) { switch (optc) { *************** *** 115,120 **** --- 125,133 ---- case 'm': specified_mode = optarg; break; + case 'f': + force=1; + break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: *************** *** 198,203 **** --- 211,217 ---- error (1, 0, _("invalid device %s %s"), s_major, s_minor); #endif + if (force) unlink(argv[optind]); if (mknod (argv[optind], newmode | node_type, device) != 0) error (1, errno, "%s", quote (argv[optind])); } *************** *** 213,218 **** --- 227,233 ---- major and minor device numbers may not be specified for fifo files")); usage (1); } + if (force) unlink(argv[optind]); if (mkfifo (argv[optind], newmode)) error (1, errno, "%s", quote (argv[optind])); #endif