]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Move xmalloc et al into their own file
authorRobert Buchholz <rbu@goodpoint.de>
Mon, 16 Jul 2012 21:56:54 +0000 (23:56 +0200)
committerNeilBrown <neilb@suse.de>
Mon, 10 Sep 2012 07:23:59 +0000 (17:23 +1000)
This avoid code duplication for utilities that do not link to
util.c and everything that comes with it, such as test_restripe and
raid6check

Signed-off-by: NeilBrown <neilb@suse.de>
Makefile
restripe.c
util.c
xmalloc.c [new file with mode: 0644]

index a3e4027c245d9ebb870222ae6f2b8b36c5e70a32..d99ea2b5ca4cdb46a03187e06b54bcf390a84d47 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -109,10 +109,10 @@ OBJS =  mdadm.o config.o policy.o mdstat.o  ReadMe.o util.o maps.o lib.o \
        Incremental.o \
        mdopen.o super0.o super1.o super-ddf.o super-intel.o bitmap.o \
        super-mbr.o super-gpt.o \
-       restripe.o sysfs.o sha1.o mapfile.o crc32.o sg_io.o msg.o \
+       restripe.o sysfs.o sha1.o mapfile.o crc32.o sg_io.o msg.o xmalloc.o \
        platform-intel.o probe_roms.o
 
-CHECK_OBJS = restripe.o sysfs.o maps.o lib.o
+CHECK_OBJS = restripe.o sysfs.o maps.o lib.o xmalloc.o
 
 SRCS =  $(patsubst %.o,%.c,$(OBJS))
 
@@ -122,7 +122,7 @@ MON_OBJS = mdmon.o monitor.o managemon.o util.o maps.o mdstat.o sysfs.o \
        config.o policy.o lib.o \
        Kill.o sg_io.o dlink.o ReadMe.o super0.o super1.o super-intel.o \
        super-mbr.o super-gpt.o \
-       super-ddf.o sha1.o crc32.o msg.o bitmap.o \
+       super-ddf.o sha1.o crc32.o msg.o bitmap.o xmalloc.o \
        platform-intel.o probe_roms.o
 
 MON_SRCS = $(patsubst %.o,%.c,$(MON_OBJS))
@@ -131,7 +131,7 @@ STATICSRC = pwgr.c
 STATICOBJS = pwgr.o
 
 ASSEMBLE_SRCS := mdassemble.c Assemble.c Manage.c config.c policy.c dlink.c util.c \
-       maps.c lib.c \
+       maps.c lib.c xmalloc.c \
        super0.c super1.c super-ddf.c super-intel.c sha1.c crc32.c sg_io.c mdstat.c \
        platform-intel.c probe_roms.c sysfs.c super-mbr.c super-gpt.c
 ASSEMBLE_AUTO_SRCS := mdopen.c
@@ -180,8 +180,8 @@ mdmon : $(MON_OBJS)
        $(CC) $(CFLAGS) $(LDFLAGS) $(MON_LDFLAGS) -Wl,-z,now -o mdmon $(MON_OBJS) $(LDLIBS)
 msg.o: msg.c msg.h
 
-test_stripe : restripe.c mdadm.h
-       $(CC) $(CXFLAGS) $(LDFLAGS) -o test_stripe -DMAIN restripe.c
+test_stripe : restripe.c xmalloc.o mdadm.h
+       $(CC) $(CXFLAGS) $(LDFLAGS) -o test_stripe xmalloc.o  -DMAIN restripe.c
 
 raid6check : raid6check.o mdadm.h $(CHECK_OBJS)
        $(CC) $(CXFLAGS) $(LDFLAGS) -o raid6check raid6check.o $(CHECK_OBJS)
index 1d2da1adb1009ffc1f9e231763d618117fd28634..90896c89de0260a4c610d8ebdab7c5ffe3d031f8 100644 (file)
@@ -998,26 +998,4 @@ main(int argc, char *argv[])
        exit(0);
 }
 
-
-void *xmalloc(size_t len)
-{
-       void *rv = malloc(len);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       write(2, msg, strlen(msg));
-       exit(4);
-}
-
-void *xcalloc(size_t num, size_t size)
-{
-       void *rv = calloc(num, size);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       write(2, msg, strlen(msg));
-       exit(4);
-}
 #endif /* MAIN */
diff --git a/util.c b/util.c
index 5a5739272622a0439f5392418ee2b30e24cdc246..a92a663bf23ffb4f74d77bdd4cbaa1fe59a6457c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1807,43 +1807,3 @@ struct mdinfo *container_choose_spares(struct supertype *st,
        }
        return disks;
 }
-
-void *xmalloc(size_t len)
-{
-       void *rv = malloc(len);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       exit(4+!!write(2, msg, strlen(msg)));
-}
-
-void *xrealloc(void *ptr, size_t len)
-{
-       void *rv = realloc(ptr, len);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       exit(4+!!write(2, msg, strlen(msg)));
-}
-
-void *xcalloc(size_t num, size_t size)
-{
-       void *rv = calloc(num, size);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       exit(4+!!write(2, msg, strlen(msg)));
-}
-
-char *xstrdup(const char *str)
-{
-       char *rv = strdup(str);
-       char *msg;
-       if (rv)
-               return rv;
-       msg = Name ": memory allocation failure - aborting\n";
-       exit(4+!!write(2, msg, strlen(msg)));
-}
diff --git a/xmalloc.c b/xmalloc.c
new file mode 100644 (file)
index 0000000..8d42a7c
--- /dev/null
+++ b/xmalloc.c
@@ -0,0 +1,72 @@
+/* mdadm - manage Linux "md" devices aka RAID arrays.
+ *
+ * Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
+ *
+ *
+ *    This program 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 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    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 this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *    Author: Neil Brown
+ *    Email: <neilb@suse.de>
+ */
+
+#include       "mdadm.h"
+/*#include     <sys/socket.h>
+#include       <sys/utsname.h>
+#include       <sys/wait.h>
+#include       <sys/un.h>
+#include       <ctype.h>
+#include       <dirent.h>
+#include       <signal.h>
+*/
+
+void *xmalloc(size_t len)
+{
+       void *rv = malloc(len);
+       char *msg;
+       if (rv)
+               return rv;
+       msg = Name ": memory allocation failure - aborting\n";
+       exit(4+!!write(2, msg, strlen(msg)));
+}
+
+void *xrealloc(void *ptr, size_t len)
+{
+       void *rv = realloc(ptr, len);
+       char *msg;
+       if (rv)
+               return rv;
+       msg = Name ": memory allocation failure - aborting\n";
+       exit(4+!!write(2, msg, strlen(msg)));
+}
+
+void *xcalloc(size_t num, size_t size)
+{
+       void *rv = calloc(num, size);
+       char *msg;
+       if (rv)
+               return rv;
+       msg = Name ": memory allocation failure - aborting\n";
+       exit(4+!!write(2, msg, strlen(msg)));
+}
+
+char *xstrdup(const char *str)
+{
+       char *rv = strdup(str);
+       char *msg;
+       if (rv)
+               return rv;
+       msg = Name ": memory allocation failure - aborting\n";
+       exit(4+!!write(2, msg, strlen(msg)));
+}