Split common utility functions out of individual utilities
authorJonathan Dieter <jdieter@gmail.com>
Fri, 4 May 2018 14:25:57 +0000 (17:25 +0300)
committerJonathan Dieter <jdieter@gmail.com>
Fri, 4 May 2018 14:25:57 +0000 (17:25 +0300)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
include/zck.h
src/meson.build
src/util_common.c [new file with mode: 0644]
src/util_common.h [new file with mode: 0644]
src/zck.c

index d20caa9704b059337c5b713eabaf3f7fbe60a3b9..eae5863d738ca2f5283f5d39d066dfbe1e39e4d2 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef ZCK_H
 #define ZCK_H
 
-#define ZCK_NAME "zchunk"
 #define ZCK_VERSION "0.4.0"
 #define ZCK_VER_MAJOR 0
 #define ZCK_VER_MINOR 4
index a4c2424c6451269d40785b8213c10d75697161fe..bacab8e60756e1a4eb9725390652a48305673158 100644 (file)
@@ -1,8 +1,8 @@
 add_global_arguments('-Wunused-result', language : 'c')
 add_global_arguments('-std=gnu99', language : 'c')
 subdir('lib')
-executable('zck', ['zck.c', 'buzhash/buzhash.c'], include_directories: inc, link_with: zcklib, install: true)
-executable('unzck', ['unzck.c'], include_directories: inc, link_with: zcklib, install: true)
-executable('zckdl', ['zck_dl.c'], include_directories: inc, link_with: zcklib, install: true)
-executable('zck_read_header', ['zck_read_header.c'], include_directories: inc, link_with: zcklib, install: true)
-executable('zck_delta_size', ['zck_delta_size.c', 'memmem.c'], include_directories: inc, link_with: zcklib, install: true)
+executable('zck', ['zck.c', 'util_common.c', 'buzhash/buzhash.c'], include_directories: inc, link_with: zcklib, install: true)
+executable('unzck', ['unzck.c', 'util_common.c'], include_directories: inc, link_with: zcklib, install: true)
+executable('zckdl', ['zck_dl.c', 'util_common.c'], include_directories: inc, link_with: zcklib, install: true)
+executable('zck_read_header', ['zck_read_header.c', 'util_common.c'], include_directories: inc, link_with: zcklib, install: true)
+executable('zck_delta_size', ['zck_delta_size.c', 'util_common.c', 'memmem.c'], include_directories: inc, link_with: zcklib, install: true)
diff --git a/src/util_common.c b/src/util_common.c
new file mode 100644 (file)
index 0000000..9ef9970
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2018 Jonathan Dieter <jdieter@gmail.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice,
+ *     this list of conditions and the following disclaimer.
+ *
+ *  2. Redistributions in binary form must reproduce the above copyright notice,
+ *     this list of conditions and the following disclaimer in the documentation
+ *     and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <zck.h>
+
+#include "util_common.h"
+
+void version() {
+    printf(ZCK_NAME " " ZCK_VERSION "\nCopyright (c) " ZCK_COPYRIGHT_YEAR
+           " Jonathan Dieter\n");
+    exit(0);
+}
diff --git a/src/util_common.h b/src/util_common.h
new file mode 100644 (file)
index 0000000..dd0103a
--- /dev/null
@@ -0,0 +1,9 @@
+#ifndef UTIL_COMMON_H
+#define UTIL_COMMON_H
+
+#define ZCK_NAME "zchunk"
+#define ZCK_COPYRIGHT_YEAR "2018"
+
+void version();
+
+#endif
index 19fed1721a1c6621a2f2654b543da71f9fd2ac3e..235e521ddc3a1ead4251e7248f14494bc2095afe 100644 (file)
--- a/src/zck.c
+++ b/src/zck.c
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <unistd.h>
-#include <zck.h>
 #include <argp.h>
+#include <zck.h>
 
+#include "util_common.h"
 #include "buzhash/buzhash.h"
 #include "memmem.h"
 
@@ -42,11 +43,6 @@ static char doc[] = "zck - Create a new zchunk file";
 
 static char args_doc[] = "<file>";
 
-void version() {
-    printf(ZCK_NAME " " ZCK_VERSION "\nCopyright (c) 2018 Jonathan Dieter\n");
-    exit(0);
-}
-
 static struct argp_option options[] = {
     {"verbose", 'v', 0,        0,
      "Increase verbosity (can be specified more than once for debugging)"},