summaryrefslogtreecommitdiff
path: root/coreutils/mv.c
diff options
context:
space:
mode:
authorErik Andersen2000-02-07 05:29:42 +0000
committerErik Andersen2000-02-07 05:29:42 +0000
commitfac10d7c59f7db0facd5fb94de273310b9ec86e6 (patch)
treedccf8f905fc5807239883da9fca6597037d487fc /coreutils/mv.c
parent50bc101b7d6e847a9a0621ca3eb28c7117d095e5 (diff)
downloadbusybox-fac10d7c59f7db0facd5fb94de273310b9ec86e6.zip
busybox-fac10d7c59f7db0facd5fb94de273310b9ec86e6.tar.gz
A few minor updates. ;-)
Seriously though, read the Changelog for busybox 0.42, which this is about to become... -Erik
Diffstat (limited to 'coreutils/mv.c')
-rw-r--r--coreutils/mv.c112
1 files changed, 0 insertions, 112 deletions
diff --git a/coreutils/mv.c b/coreutils/mv.c
deleted file mode 100644
index 467a360..0000000
--- a/coreutils/mv.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Mini mv implementation for busybox
- *
- *
- * Copyright (C) 1999 by Lineo, inc.
- * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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 "internal.h"
-#include <stdio.h>
-#include <time.h>
-#include <utime.h>
-#include <dirent.h>
-
-static const char mv_usage[] = "mv SOURCE DEST\n"
-" or: mv SOURCE... DIRECTORY\n\n"
-"Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n";
-
-
-static const char *srcName;
-static const char *destName;
-static int destDirFlag = FALSE;
-static int srcDirFlag = FALSE;
-
-static int fileAction(const char *fileName, struct stat* statbuf)
-{
- char newdestName[NAME_MAX];
- char* newsrcName = NULL;
-
- strcpy(newdestName, destName);
- if ( srcDirFlag == TRUE ) {
- strcat(newdestName, strstr(fileName, srcName) + strlen(srcName));
- }
-
- if (destDirFlag==TRUE && srcDirFlag == FALSE) {
- if (newdestName[strlen(newdestName)-1] != '/' ) {
- strcat(newdestName, "/");
- }
- newsrcName = strrchr(srcName, '/');
- if (newsrcName && *newsrcName != '\0')
- strcat(newdestName, newsrcName);
- else
- strcat(newdestName, srcName);
- }
-
- return (copyFile(fileName, newdestName, TRUE, TRUE));
-}
-
-static int rmfileAction(const char *fileName, struct stat* statbuf)
-{
- if (unlink( fileName) < 0 ) {
- perror( fileName);
- return ( FALSE);
- }
- return ( TRUE);
-}
-
-static int rmdirAction(const char *fileName, struct stat* statbuf)
-{
- if (rmdir( fileName) < 0 ) {
- perror( fileName);
- return ( FALSE);
- }
- return ( TRUE);
-}
-
-
-extern int mv_main(int argc, char **argv)
-{
- if (argc < 3) {
- usage (mv_usage);
- }
- argc--;
- argv++;
-
- destName = argv[argc - 1];
- destDirFlag = isDirectory(destName);
-
- if ((argc > 3) && destDirFlag==FALSE) {
- fprintf(stderr, "%s: not a directory\n", destName);
- exit (FALSE);
- }
-
- while (argc-- > 1) {
- srcName = *(argv++);
- srcDirFlag = isDirectory(srcName);
- if (recursiveAction(srcName, TRUE, TRUE, FALSE,
- fileAction, fileAction) == FALSE) {
- exit( FALSE);
- }
- if (recursiveAction(srcName, TRUE, TRUE, TRUE,
- rmfileAction, rmdirAction) == FALSE) {
- exit( FALSE);
- }
- }
- exit( TRUE);
-}