Re: [PATCH] mount: use common libs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2011-09-14 at 16:45 +0200, Karel Zak wrote:
> On Tue, Sep 13, 2011 at 12:07:35PM -0300, Davidlohr Bueso wrote:
> > --- a/mount/devname.c
> > +++ b/mount/devname.c
> > @@ -2,6 +2,7 @@
> >  
> >  #include "devname.h"
> >  #include "sundries.h"		/* for xstrdup */
> > +#include "xalloc.h"
> 
>  It would be better to include xalloc.h in sunders.h only.
> 
> > -static void
> > -die_if_null(void *t) {
> > -	if (t == NULL)
> > -		die(EX_SYSERR, _("not enough memory"));
>             ^^^^^^^^
> > -}
> 
>  it means that you have to use:
> 
>  #define XALLOC_EXIT_CODE   EX_SYSERR
>  #include "xalloc.h"
> 
>  to keep it backwardly compatible.
> 

Ok, below is v2.

Thanks.


From: Davidlohr Bueso <dave@xxxxxxx>
Date: Wed, 14 Sep 2011 15:05:22 -0300
Subject: [PATCH] mount: use common libs

Get rid of the local xmalloc.[c/h] files by using the global xalloc and strutils libraries.

Signed-off-by: Davidlohr Bueso <dave@xxxxxxx>
---
 mount/Makefile.am |    2 +-
 mount/fstab.c     |    2 +-
 mount/lomount.c   |    1 -
 mount/mount.c     |    1 -
 mount/sundries.c  |    1 -
 mount/sundries.h  |    6 ++++--
 mount/umount.c    |    1 +
 mount/xmalloc.c   |   48 ------------------------------------------------
 mount/xmalloc.h   |   14 --------------
 9 files changed, 7 insertions(+), 69 deletions(-)
 delete mode 100644 mount/xmalloc.c
 delete mode 100644 mount/xmalloc.h

diff --git a/mount/Makefile.am b/mount/Makefile.am
index b82464f..d64cd72 100644
--- a/mount/Makefile.am
+++ b/mount/Makefile.am
@@ -7,7 +7,7 @@ sbin_PROGRAMS = losetup swapon
 dist_man_MANS = fstab.5 mount.8 swapoff.8 swapon.8 umount.8 losetup.8
 
 # generic sources for all programs (mount, umount, losetup)
-srcs_common = sundries.c xmalloc.c $(top_srcdir)/lib/canonicalize.c sundries.h xmalloc.h
+srcs_common = sundries.c $(top_srcdir)/lib/canonicalize.c sundries.h
 
 # generic header for mount and umount
 hdrs_mount = fstab.h mount_mntent.h mount_constants.h \
diff --git a/mount/fstab.c b/mount/fstab.c
index 2331a7d..d0a0482 100644
--- a/mount/fstab.c
+++ b/mount/fstab.c
@@ -12,10 +12,10 @@
 #include <sys/time.h>
 #include <time.h>
 #include <mntent.h>
+
 #include "mount_mntent.h"
 #include "fstab.h"
 #include "sundries.h"
-#include "xmalloc.h"
 #include "fsprobe.h"
 #include "pathnames.h"
 #include "nls.h"
diff --git a/mount/lomount.c b/mount/lomount.c
index fad58d5..74a8749 100644
--- a/mount/lomount.c
+++ b/mount/lomount.c
@@ -21,7 +21,6 @@
 #include "strutils.h"
 #include "nls.h"
 #include "sundries.h"
-#include "xmalloc.h"
 #include "pathnames.h"
 
 #ifdef LOOP_SET_FD
diff --git a/mount/mount.c b/mount/mount.c
index 5066abc..b64035e 100644
--- a/mount/mount.c
+++ b/mount/mount.c
@@ -32,7 +32,6 @@
 #include "devname.h"
 #include "mount_constants.h"
 #include "sundries.h"
-#include "xmalloc.h"
 #include "mount_mntent.h"
 #include "fstab.h"
 #include "lomount.h"
diff --git a/mount/sundries.c b/mount/sundries.c
index 2dec37f..58f7b5d 100644
--- a/mount/sundries.c
+++ b/mount/sundries.c
@@ -15,7 +15,6 @@
 #include "canonicalize.h"
 
 #include "sundries.h"
-#include "xmalloc.h"
 #include "nls.h"
 
 int mount_quiet;
diff --git a/mount/sundries.h b/mount/sundries.h
index 3b6a464..5e3ddc3 100644
--- a/mount/sundries.h
+++ b/mount/sundries.h
@@ -13,6 +13,9 @@
 #include <stdarg.h>
 #include <stdlib.h>
 
+#define XALLOC_EXIT_CODE 2 /* same as EX_SYSERR, for backwards compatibility */
+#include "xalloc.h"
+
 /* global mount, umount, and losetup variables */
 extern int mount_quiet;
 extern int verbose;
@@ -20,6 +23,7 @@ extern int nocanonicalize;
 extern char *progname;
 
 #define streq(s, t)	(strcmp ((s), (t)) == 0)
+#define my_free(_p)  free((void *) _p)
 
 void block_signals (int how);
 
@@ -30,8 +34,6 @@ void die(int err, const char *fmt, ...)
 
 int matching_type (const char *type, const char *types);
 int matching_opts (const char *options, const char *test_opts);
-void *xmalloc (size_t size);
-char *xstrdup (const char *s);
 char *xstrndup (const char *s, int n);
 char *xstrconcat3 (char *, const char *, const char *);
 char *xstrconcat4 (char *, const char *, const char *, const char *);
diff --git a/mount/umount.c b/mount/umount.c
index 64f320c..5000aa5 100644
--- a/mount/umount.c
+++ b/mount/umount.c
@@ -11,6 +11,7 @@
 #include <sys/stat.h>
 #include <sys/wait.h>
 #include <sys/mount.h>
+
 #include "mount_constants.h"
 #include "sundries.h"
 #include "getusername.h"
diff --git a/mount/xmalloc.c b/mount/xmalloc.c
deleted file mode 100644
index 3fd09fd..0000000
--- a/mount/xmalloc.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>	/* strdup() */
-#include "xmalloc.h"
-#include "nls.h"	/* _() */
-#include "sundries.h"	/* EX_SYSERR */
-
-static void
-die_if_null(void *t) {
-	if (t == NULL)
-		die(EX_SYSERR, _("not enough memory"));
-}
-
-void *
-xmalloc (size_t size) {
-	void *t;
-
-	if (size == 0)
-		return NULL;
-
-	t = malloc(size);
-	die_if_null(t);
-
-	return t;
-}
-
-void *
-xrealloc (void *p, size_t size) {
-	void *t;
-
-	t = realloc(p, size);
-	die_if_null(t);
-
-	return t;
-}
-
-char *
-xstrdup (const char *s) {
-	char *t;
-
-	if (s == NULL)
-		return NULL;
-
-	t = strdup(s);
-	die_if_null(t);
-
-	return t;
-}
diff --git a/mount/xmalloc.h b/mount/xmalloc.h
deleted file mode 100644
index 2fc0a7e..0000000
--- a/mount/xmalloc.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef MOUNT_XMALLOC_H
-#define MOUNT_XMALLOC_H
-
-extern void *xmalloc(size_t size);
-extern void *xrealloc(void *p, size_t size);
-extern char *xstrdup(const char *s);
-
-/*
- * free(p); when 'p' is 'const char *' makes gcc unhappy:
- *    warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
- */
-#define my_free(_p)	free((void *) _p)
-
-#endif  /* MOUNT_XMALLOC_H */
-- 
1.7.4.1



--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux