diff --git a/commands/Kconfig b/commands/Kconfig index 876f2f8..337f545 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -57,6 +57,10 @@ tristate prompt "readline" +config CMD_LN + tristate + prompt "ln" + config CMD_TRUE tristate default y diff --git a/commands/Makefile b/commands/Makefile index ab6c7ea..ccebd7f 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -73,3 +73,4 @@ obj-$(CONFIG_CMD_BASENAME) += basename.o obj-$(CONFIG_CMD_DIRNAME) += dirname.o obj-$(CONFIG_CMD_READLINK) += readlink.o +obj-$(CONFIG_CMD_LN) += ln.o diff --git a/commands/ln.c b/commands/ln.c new file mode 100644 index 0000000..0237447 --- /dev/null +++ b/commands/ln.c @@ -0,0 +1,51 @@ +/* + * ln.c - make links between files + * + * Copyright (c) 2012 Jean-Christophe PLAGNIOL-VILLARD + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include + +static int do_ln(int argc, char *argv[]) +{ + if (argc != 3) + return COMMAND_ERROR_USAGE; + + if (symlink(argv[1], argv[2]) < 0) { + perror("ln"); + return 1; + } + return 0; +} + +BAREBOX_CMD_HELP_START(ln) +BAREBOX_CMD_HELP_USAGE("ln SRC DEST\n") +BAREBOX_CMD_HELP_SHORT("symlink - make a new name for a file\n") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(ln) + .cmd = do_ln, + .usage = "symlink - make a new name for a file", + BAREBOX_CMD_HELP(cmd_ln_help) +BAREBOX_CMD_END