X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d918f936d5bfc7e126cc3b1bbf6ce80836c8d6f1..986fb647cc1df1edeeaa2c0e7cb34c100eb9efb9:/src/filelock.c diff --git a/src/filelock.c b/src/filelock.c index de6de7bb8e..b11338c58b 100644 --- a/src/filelock.c +++ b/src/filelock.c @@ -1,13 +1,14 @@ /* Lock files for editing. Copyright (C) 1985, 1986, 1987, 1993, 1994, 1996, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +GNU Emacs 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, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,9 +16,7 @@ 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 GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ #include @@ -25,6 +24,7 @@ Boston, MA 02110-1301, USA. */ #include #include #include +#include #ifdef HAVE_PWD_H #include @@ -47,9 +47,6 @@ Boston, MA 02110-1301, USA. */ #endif /* __FreeBSD__ */ #include -#ifndef errno -extern int errno; -#endif #include "lisp.h" #include "buffer.h" @@ -63,7 +60,9 @@ Lisp_Object Vtemporary_file_directory; #ifdef CLASH_DETECTION +#ifdef HAVE_UTMP_H #include +#endif #if !defined (S_ISLNK) && defined (S_IFLNK) #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) @@ -129,7 +128,7 @@ static void get_boot_time_1 P_ ((char *, int)); static time_t get_boot_time () { -#if defined (BOOT_TIME) && ! defined (NO_WTMP_FILE) +#if defined (BOOT_TIME) int counter; #endif @@ -165,7 +164,7 @@ get_boot_time () } } -#if defined (BOOT_TIME) && ! defined (NO_WTMP_FILE) +#if defined (BOOT_TIME) #ifndef CANNOT_DUMP /* The utmp routines maintain static state. Don't touch that state unless we are initialized, @@ -468,8 +467,8 @@ current_lock_owner (owner, lfname) } /* Parse USER@HOST.PID:BOOT_TIME. If can't parse, return -1. */ - /* The USER is everything before the first @. */ - at = index (lfinfo, '@'); + /* The USER is everything before the last @. */ + at = rindex (lfinfo, '@'); dot = rindex (lfinfo, '.'); if (!at || !dot) {