1/* 2 * Copyright (c) 1989, 1993, 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Ken Smith of The State University of New York at Buffalo. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 19 unchanged lines hidden (view full) --- 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * |
36 * $Id: mv.c,v 1.13 1997/03/28 15:24:26 imp Exp $ |
37 */ 38 39#ifndef lint 40static char const copyright[] = 41"@(#) Copyright (c) 1989, 1993, 1994\n\ 42 The Regents of the University of California. All rights reserved.\n"; 43#endif /* not lint */ 44 --- 92 unchanged lines hidden (view full) --- 137 exit(rval); 138} 139 140int 141do_move(from, to) 142 char *from, *to; 143{ 144 struct stat sb; |
145 int ask, ch, first; |
146 char modep[15]; 147 148 /* 149 * Check access. If interactive and file exists, ask user if it 150 * should be replaced. Otherwise if file exists but isn't writable 151 * make sure the user wants to clobber it. 152 */ 153 if (!fflg && !access(to, F_OK)) { --- 12 unchanged lines hidden (view full) --- 166 strmode(sb.st_mode, modep); 167 (void)fprintf(stderr, "override %s%s%s/%s for %s? ", 168 modep + 1, modep[9] == ' ' ? "" : " ", 169 user_from_uid(sb.st_uid, 0), 170 group_from_gid(sb.st_gid, 0), to); 171 ask = 1; 172 } 173 if (ask) { |
174 first = ch = getchar(); 175 while (ch != '\n' && ch != EOF) 176 ch = getchar(); 177 if (first != 'y' && first != 'Y') |
178 return (0); 179 } 180 } 181 if (!rename(from, to)) 182 return (0); 183 184 if (errno != EXDEV) { 185 warn("rename %s to %s", from, to); --- 149 unchanged lines hidden --- |