-/*
+/*
* lockfile.c:
*
- * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
+ * Copyright (c) 2008 James McKenzie <sympathy@madingley.org>,
* All rights reserved.
*
*/
-static char rcsid[] = "$Id$";
+static char rcsid[] =
+ "$Id: lockfile.c,v 1.17 2010/07/16 11:04:10 james Exp $";
-/*
- * $Log$
+/*
+ * $Log: lockfile.c,v $
+ * Revision 1.17 2010/07/16 11:04:10 james
+ * ignore tedious return values
+ *
+ * Revision 1.16 2008/05/09 12:56:11 james
+ * *** empty log message ***
+ *
+ * Revision 1.15 2008/03/07 14:13:40 james
+ * *** empty log message ***
+ *
+ * Revision 1.14 2008/03/07 13:16:02 james
+ * *** empty log message ***
+ *
+ * Revision 1.13 2008/03/07 12:37:04 james
+ * *** empty log message ***
+ *
+ * Revision 1.12 2008/03/03 06:04:42 james
+ * *** empty log message ***
+ *
+ * Revision 1.11 2008/03/02 10:38:18 james
+ * *** empty log message ***
+ *
* Revision 1.10 2008/03/02 10:37:56 james
* *** empty log message ***
*
#include "lockfile.h"
+extern void *xmalloc (size_t);
+
Filelist *
filelist_new (void)
{
- Filelist *fl = (Filelist *) malloc (sizeof (Filelist));
+ Filelist *fl = (Filelist *) xmalloc (sizeof (Filelist));
fl->head = NULL;
if (!strcmp (fle->name, fn))
return;
- fle = malloc (sizeof (Filelist_ent));
+ fle = xmalloc (sizeof (Filelist_ent));
strcpy (fle->name, fn);
return -1;
}
- write (fd, buf, i);
+ int result;
+ result = write (fd, buf, i);
fchmod (fd, 044);
+#if 0
if (chown_uucp (fd)) {
close (fd);
unlink (tmpfn);
return -1;
}
+#else
+ chown_uucp (fd);
+#endif
close (fd);
ret = filelist_new ();
- lockfile_add_name_from_dev (ret, dev_stat.st_rdev);
+ if (ret) {
+ lockfile_add_name_from_dev (ret, dev_stat.st_rdev);
- lockfile_add_name_from_path (ret, device);
+ lockfile_add_name_from_path (ret, device);
- lockfile_check_dir_for_dev (ret, "/dev/", dev_stat.st_rdev);
- lockfile_check_dir_for_dev (ret, "/dev/usb/", dev_stat.st_rdev);
- lockfile_check_dir_for_dev (ret, "/dev/tts/", dev_stat.st_rdev);
+ lockfile_check_dir_for_dev (ret, "/dev/", dev_stat.st_rdev);
+ lockfile_check_dir_for_dev (ret, "/dev/usb/", dev_stat.st_rdev);
+ lockfile_check_dir_for_dev (ret, "/dev/tts/", dev_stat.st_rdev);
+ }
return ret;
}
ret = filelist_new ();
- lockfile_remove_stale (fl);
+ if (ret) {
+ lockfile_remove_stale (fl);
- for (fle = fl->head; fle; fle = fle->next) {
- if (lockfile_make (fle->name)) {
- fprintf (stderr, "Failed to get lockfile %s\n", fle->name);
- filelist_free (ret);
- return NULL;
+ for (fle = fl->head; fle; fle = fle->next) {
+ if (lockfile_make (fle->name)) {
+ fprintf (stderr, "Failed to get lockfile %s\n", fle->name);
+ filelist_free (ret);
+ return NULL;
+ }
+ filelist_add (ret, fle->name);
}
- filelist_add (ret, fle->name);
}
return ret;
if (!fl)
return NULL;
- l = (Serial_lock *) malloc (sizeof (Serial_lock));
+ l = (Serial_lock *) xmalloc (sizeof (Serial_lock));
l->mode = mode;
l->locks_to_check = fl;