汇编源代码大全
源代码在线查看: filebkup.c
/*--------------------------------------------------------------------*/
/* f i l e b k u p */
/* */
/* UUPC/extended file backup routines */
/* */
/* Copyright (c) 1991-1993 by Andrew H. Derbyshire; */
/* all rights reserved except as granted by UUPC/extended */
/* license included with documention. */
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/* RCS Information */
/*--------------------------------------------------------------------*/
/*
* $Id: FILEBKUP.C 1.3 1993/04/11 00:33:38 dmwatt Exp $
*
* Revision history:
* $Log: FILEBKUP.C $
* Revision 1.3 1993/04/11 00:33:38 dmwatt
* Global edits for year, TEXT, etc.
*
* Revision 1.2 1992/11/19 02:57:51 ahd
* drop rcsid
*
* Revision 1.1 1992/11/16 05:00:26 ahd
* Initial revision
*
*/
/*--------------------------------------------------------------------*/
/* System include files */
/*--------------------------------------------------------------------*/
#include
#include
#include
#include
#ifndef __GNUC__
#include
#endif
/*--------------------------------------------------------------------*/
/* UUPC/extended include files */
/*--------------------------------------------------------------------*/
#include "lib.h"
#include "hlib.h"
currentfile();
/*--------------------------------------------------------------------*/
/* f i l e b k u p */
/* */
/* Backup a file to the standard UUPC/extended defined */
/* extension. */
/*--------------------------------------------------------------------*/
int filebkup( const char *input )
{
char fdrive[FILENAME_MAX];
char fpath[FILENAME_MAX];
char fname[FILENAME_MAX];
char ftype[FILENAME_MAX];
char backup[FILENAME_MAX];
if ( !bflag[F_BACKUP] ) /* Are we to not back it up? */
return 1; /* Yes --> Report we did not */
#ifdef __TURBOC__
fnsplit( input, fdrive, fpath, fname, ftype );
if ( E_backup == NULL )
strcpy(ftype, ".BAK" );
else if ( *E_backup == '.' )
strcpy( ftype, E_backup );
else {
*ftype = '.';
strcpy( ftype + 1 , E_backup );
} /* else */
fnmerge( backup, fdrive, fpath, fname, ftype );
#else
if ( E_backup == NULL )
E_backup = ".BAK";
_splitpath( input , fdrive, fpath, fname, ftype );
_makepath( backup , fdrive, fpath, fname, E_backup );
#endif /* __TURBOC__ */
remove( backup );
if (rename( input, backup ))
{
printerr( backup );
printmsg(1,"Unable to rename %s to %s\n", input, backup );
return 1;
} /* if (rename( input, backup )) */
else
return 0;
} /* filebkup */