Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=fw32.git;a=commitdiff;h=650a1ae73c6ffa76bf45f0a83c768926b5c148ab

commit 650a1ae73c6ffa76bf45f0a83c768926b5c148ab
Author: James Buren <r...@frugalware.org>
Date:   Thu Nov 3 00:55:13 2011 -0500

fw32.c: add xstrdup & xmalloc

diff --git a/fw32.c b/fw32.c
index 3e8cc89..a8f36ab 100644
--- a/fw32.c
+++ b/fw32.c
@@ -7,6 +7,7 @@
#include <sys/mount.h>
#include <limits.h>
#include <errno.h>
+#include <unistd.h>
#include <assert.h>

static const char *FW32_ROOT = "/usr/lib/fw32";
@@ -48,6 +49,34 @@ error(const char *fmt,...)
exit(EXIT_FAILURE);
}

+static void *
+xmalloc(size_t n)
+{
+  void *p;
+
+  assert(n);
+
+  p = malloc(n);
+
+  if(!p)
+    error("malloc: %s\n",strerror(errno));
+
+  return p;
+}
+
+static char *
+xstrdup(const char *s)
+{
+  char *p;
+
+  p = strdup(s);
+
+  if(!p)
+    error("strdup: %s\n",strerror(errno));
+
+  return p;
+}
+
static void
mkdir_parents(const char *s)
{
@@ -118,12 +147,12 @@ mount_directory(const char *src)
char dst[PATH_MAX];

assert(src);
-
+
snprintf(dst,sizeof dst,"%s%s",FW32_ROOT,src);

if(ismounted(dst))
return;
-
+
if(mount(src,dst,"",MS_BIND,""))
error("Failed to mount directory: %s: %s\n",dst,strerror(errno));
}
@@ -151,7 +180,7 @@ umount_all(void)
{
FILE *f;
char line[LINE_MAX], *s, *e;
-
+
f = fopen("/proc/mounts","rb");

if(!f)
@@ -174,7 +203,7 @@ umount_all(void)
if(strncmp(s,FW32_ROOT,strlen(FW32_ROOT)))
umount_directory(s);
}
-
+
fclose(f);
}
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to