home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
dmake40.zip
/
unix
/
bsd43
/
utime.c
< prev
Wrap
C/C++ Source or Header
|
1994-10-23
|
856b
|
49 lines
/*
** change access and modify times of file
*/
#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/file.h>
int
utime(name, timep)
char* name;
time_t timep[2];
{
struct timeval tv[2], *tvp;
struct stat buf;
int fil;
char data;
if (timep!=0)
{
tvp = tv, tv[0].tv_sec = timep[0], tv[1].tv_sec = timep[1];
if (utimes(name, tvp)==0)
return (0);
}
if (stat(name, &buf) != 0)
return (-1);
if (buf.st_size != 0) {
if ((fil = open(name, O_RDWR, 0666)) < 0)
return (-1);
if (read(fil, &data, 1) < 1) {
close(fil);
return (-1);
}
lseek(fil, 0L, 0);
if (write(fil, &data, 1) < 1) {
close(fil);
return (-1);
}
close(fil);
return (0);
} else if ((fil = creat(name, 0666)) < 0) {
return (-1);
} else {
close(fil);
return (0);
}
}