ack/modules/src/system/lock.c
dtrg 014be56fb0 Replaced calls to the custom strindex() and strrindex() functions with the
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00

33 lines
574 B
C

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* $Id$ */
#include "system.h"
int
sys_lock(path)
char *path;
{
char buf[1024];
char *tmpf = ".lockXXXXXX";
char *strrchr(), *strcpy(), *mktemp();
char *p;
int ok, fd;
strcpy(buf, path);
if (p = strrchr(buf, '/')) {
++p;
strcpy(p, tmpf);
}
else
strcpy(buf, tmpf);
mktemp(buf);
if ((fd = creat(buf, 0)) < 0)
return 0;
close(fd);
ok = (link(buf, path) == 0);
unlink(buf);
return ok;
}