]> git.sur5r.net Git - i3/i3/commitdiff
Move is_debug_build() to libi3/
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 9 May 2012 17:12:20 +0000 (19:12 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 9 May 2012 17:12:20 +0000 (19:12 +0200)
include/libi3.h
libi3/is_debug_build.c [new file with mode: 0644]
src/main.c

index b88bcb67632912eaf4d67c235f4348d1bb318b95..2126e100afbd36b2f9843b6aca86620ba820a97c 100644 (file)
@@ -242,4 +242,11 @@ void draw_text(char *text, size_t text_len, bool is_ucs2, xcb_drawable_t drawabl
  */
 int predict_text_width(char *text, size_t text_len, bool is_ucs2);
 
+/**
+ * Returns true if this version of i3 is a debug build (anything which is not a
+ * release version), based on the git version number.
+ *
+ */
+bool is_debug_build() __attribute__((const));
+
 #endif
diff --git a/libi3/is_debug_build.c b/libi3/is_debug_build.c
new file mode 100644 (file)
index 0000000..3173c12
--- /dev/null
@@ -0,0 +1,17 @@
+#include <string.h>
+#include <stdbool.h>
+
+/*
+ * Returns true if this version of i3 is a debug build (anything which is not a
+ * release version), based on the git version number.
+ *
+ */
+bool is_debug_build() {
+    /* i3_version contains either something like this:
+     *     "4.0.2 (2011-11-11, branch "release")".
+     * or: "4.0.2-123-gCOFFEEBABE (2011-11-11, branch "next")".
+     *
+     * So we check for the offset of the first opening round bracket to
+     * determine whether this is a git version or a release version. */
+    return ((strchr(I3_VERSION, '(') - I3_VERSION) > 10);
+}
index 14786d290686aa5317fc847d9da2539e72dde304..44c3f3cb6ce05ebfb021c0daef1a70b8e99685e2 100644 (file)
@@ -25,9 +25,6 @@
  * RLIM_INFINITY for i3 debugging versions. */
 struct rlimit original_rlimit_core;
 
-/* Whether this version of i3 is a debug build or a release build. */
-bool debug_build = false;
-
 /** The number of file descriptors passed via socket activation. */
 int listen_fds;
 
@@ -246,7 +243,7 @@ static void handle_signal(int sig, siginfo_t *info, void *data) {
 int main(int argc, char *argv[]) {
     /* Keep a symbol pointing to the I3_VERSION string constant so that we have
      * it in gdb backtraces. */
-    const char *i3_version = I3_VERSION;
+    const char *i3_version __attribute__ ((unused)) = I3_VERSION;
     char *override_configpath = NULL;
     bool autostart = true;
     char *layout_path = NULL;
@@ -291,16 +288,8 @@ int main(int argc, char *argv[]) {
      * (file) logging. */
     init_logging();
 
-    /* i3_version contains either something like this:
-     *     "4.0.2 (2011-11-11, branch "release")".
-     * or: "4.0.2-123-gCOFFEEBABE (2011-11-11, branch "next")".
-     *
-     * So we check for the offset of the first opening round bracket to
-     * determine whether this is a git version or a release version. */
-    debug_build = ((strchr(i3_version, '(') - i3_version) > 10);
-
     /* On non-release builds, disable SHM logging by default. */
-    shmlog_size = (debug_build ? 25 * 1024 * 1024 : 0);
+    shmlog_size = (is_debug_build() ? 25 * 1024 * 1024 : 0);
 
     start_argv = argv;
 
@@ -475,7 +464,7 @@ int main(int argc, char *argv[]) {
     init_logging();
 
     /* Try to enable core dumps by default when running a debug build */
-    if (debug_build) {
+    if (is_debug_build()) {
         struct rlimit limit = { RLIM_INFINITY, RLIM_INFINITY };
         setrlimit(RLIMIT_CORE, &limit);