[hackers] [skvm] General code cleanup. Fixed inconsistent return values. Added HACKING || Dimitrios Papastamos

From: <hg_AT_suckless.org>
Date: Wed, 29 Apr 2009 00:47:20 +0000 (UTC)

changeset: 2:bd7cfb8e4d21
tag: tip
user: Dimitrios Papastamos <stateless [at] archlinux.us>
date: Wed Apr 29 01:46:42 2009 -0700
files: HACKING Makefile TODO skvm.1 skvm.c
description:
General code cleanup. Fixed inconsistent return values. Added HACKING
and altered the manpage. Code re-organization.

diff -r 22990e73c952 -r bd7cfb8e4d21 HACKING
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/HACKING Wed Apr 29 01:46:42 2009 -0700
@@ -0,0 +1,8 @@
+Coding style and project aims
+=============================
+
+If you plan to hack this code, please follow the coding convetions
+used in the current code. Use format.sh and the latest version of astyle
+to format the code. This project does not aim to be portable as it is
+mainly used on Linux. Make sure the code is secure as skvm is meant
+to execute as root.
diff -r 22990e73c952 -r bd7cfb8e4d21 Makefile
--- a/Makefile Tue Apr 28 20:49:09 2009 -0700
+++ b/Makefile Wed Apr 29 01:46:42 2009 -0700
@@ -20,7 +20,7 @@
 dist: clean
         @mkdir -p skvm-${ver}
         @cp -R AUTHORS ChangeLog PKGBUILD README skvm.1 ${src} \
- LICENSE Makefile TODO init skvm-${ver}
+ LICENSE HACKING format.sh .astylerc Makefile TODO init skvm-${ver}
         @tar -cf skvm-${ver}.tar skvm-${ver}
         @bzip2 skvm-${ver}.tar
         @rm -rf skvm-${ver}
diff -r 22990e73c952 -r bd7cfb8e4d21 TODO
--- a/TODO Tue Apr 28 20:49:09 2009 -0700
+++ b/TODO Wed Apr 29 01:46:42 2009 -0700
@@ -1,4 +1,3 @@
 SKVM --- TODO
 
         * add support for LUKS.
- * better error reporting.
diff -r 22990e73c952 -r bd7cfb8e4d21 skvm.1
--- a/skvm.1 Tue Apr 28 20:49:09 2009 -0700
+++ b/skvm.1 Wed Apr 29 01:46:42 2009 -0700
@@ -17,3 +17,6 @@
 file and (re)compiling the source code. This keeps it fast, secure and simple.
 .SH AUTHOR
 skvm was written by Dimitrios Papastamos <stateless [at] archlinux.us>.
+.SH PATCHES
+you can submit your own patches to skvm by subscribing to <hackers [at] suckless.org>
+as outlined at suckless.org.
diff -r 22990e73c952 -r bd7cfb8e4d21 skvm.c
--- a/skvm.c Tue Apr 28 20:49:09 2009 -0700
+++ b/skvm.c Wed Apr 29 01:46:42 2009 -0700
@@ -1,7 +1,6 @@
 /* See LICENSE file for copyright and license details. */
 #include <stdio.h>
 #include <stdlib.h>
-#include <stdarg.h>
 #include <string.h>
 #include <errno.h>
 #include <signal.h>
@@ -93,14 +92,17 @@
  * ============================
  */
 
+/* (de)/initialization functions */
 static int init_skvm(void);
 static int init_dbus(DBusError *error);
 static int init_hal(void);
+static void deinit(void);
 
-static void register_hal_callbacks(void);
+/* callback functions */
 static void device_added(LibHalContext *context, const char *did);
 static void device_removed(LibHalContext *context, const char *did);
 
+/* functions related to the device list */
 static struct device_t *get_device(char *mountp, const char *did,
                                    char *dev, char *label,
                                    const char *fstype,
@@ -111,16 +113,19 @@
                                     struct device_t *curr);
 static void free_device(struct device_t *device);
 
+/* functions related to how the volume manager behaves when
+ * a new device is inserted */
 static int is_mounted(const char *dev);
 static char *get_mount_point(const char *dev, const char *label);
 static int resolve_symlink(const char *f, char *d, size_t d_len);
 static void consider_fstab(struct device_t *device);
 static void do_args(struct device_t *device);
 static int do_mount(struct device_t *device);
+
+/* general function helpers */
 static int file_exists(const char *path);
 static void cleanup(int sig);
 static int is_running(void);
-static void deinit(void);
 static void debug_dump_device(const struct device_t *device);
 
 int
@@ -141,7 +146,7 @@
    }
 
    if (debug_mode_flag)
- setvbuf(stdout, (char *)NULL, _IONBF, 0);
+ setvbuf(stdout, (char *)NULL, _IONBF, 0); /* avoid surprises */
 
    if (init_skvm() < 0)
       return EXIT_FAILURE;
@@ -156,11 +161,6 @@
          deinit();
          return EXIT_FAILURE;
       }
- }
-
- if (debug_mode_flag) {
- printf("Base mount directory: %s\n", BASE_MNT_DIR);
- printf("Default mount options: %s\n", DEFAULT_MNT_OPTIONS);
    }
 
    loop = g_main_loop_new((GMainContext *)NULL, FALSE);
@@ -204,7 +204,9 @@
       return -1;
 
    libhal_ctx_set_dbus_connection (hal_ctx, dbus_conn);
- register_hal_callbacks();
+
+ libhal_ctx_set_device_added(hal_ctx, device_added);
+ libhal_ctx_set_device_removed(hal_ctx, device_removed);
 
    dbus_error_init(&error);
    if (!libhal_device_property_watch_all(hal_ctx, &error)) {
@@ -231,12 +233,27 @@
 }
 
 static void
-register_hal_callbacks(void) {
- libhal_ctx_set_device_added(hal_ctx, device_added);
- libhal_ctx_set_device_removed(hal_ctx, device_removed);
+deinit(void) {
+ struct device_t *iter, *tmp;
+
+ closelog();
+ libhal_ctx_shutdown(hal_ctx, (DBusError *)NULL);
+ libhal_ctx_free(hal_ctx);
+ dbus_connection_unref(dbus_conn);
+
+ iter = head;
+
+ while (iter) {
+ tmp = iter;
+ iter = iter->next;
+ free_device(tmp);
+ }
+
+ if (pid_fd >= 0)
+ close(pid_fd); /* releases lock */
 }
 
-/* Callback function, called when a new device has been inserted */
+/* Callback function, called when a new device has been inserted. */
 static void
 device_added(LibHalContext *context, const char *did) {
    const char *dudi, *fstype;
@@ -289,7 +306,7 @@
       libhal_free_string(label);
 }
 
-/* Callback function, called when a device has been removed */
+/* Callback function, called when a device has been removed. */
 static void
 device_removed(LibHalContext *context __attribute__ ((unused)),
                const char *did) {
@@ -582,7 +599,7 @@
 }
 
 /*
- * Check if skvm is already running, make sure the log
+ * Check if skvm is already running, the caller has to make sure that the log
  * file has been opened and the new instance has been daemonized.
  */
 static int
@@ -593,7 +610,7 @@
    if (pid_fd < 0) {
       syslog(LOG_ERR, "%s:%d %s", __FILE__, __LINE__,
              strerror(errno));
- return 1;
+ return -1;
    }
 
    if (flock(pid_fd, LOCK_EX | LOCK_NB) < 0) {
@@ -601,34 +618,13 @@
       pid_fd = -1;
       syslog(LOG_ERR, "%s:%d can't lock %s: %s", __FILE__, __LINE__,
              LOCKFILE, strerror(errno));
- return 1;
+ return -1;
    }
 
    ftruncate(pid_fd, 0);
    snprintf(buf, sizeof(buf), "%jd\n", (intmax_t)getpid());
    write(pid_fd, buf, strlen(buf));
    return 0;
-}
-
-static void
-deinit(void) {
- struct device_t *iter, *tmp;
-
- closelog();
- libhal_ctx_shutdown(hal_ctx, (DBusError *)NULL);
- libhal_ctx_free(hal_ctx);
- dbus_connection_unref(dbus_conn);
-
- iter = head;
-
- while (iter) {
- tmp = iter;
- iter = iter->next;
- free_device(tmp);
- }
-
- if (pid_fd != -1)
- close(pid_fd); /* releases lock */
 }
 
 static void
Received on Wed Apr 29 2009 - 00:47:20 UTC

This archive was generated by hypermail 2.2.0 : Wed Apr 29 2009 - 00:48:04 UTC