From cc8cc99213f17484c5f7b8ac8778e5cf208f1817 Mon Sep 17 00:00:00 2001
From: Yorhel <git@yorhel.nl>
Date: Sat, 11 Apr 2009 10:03:24 +0200
Subject: [PATCH] Moved definitions for calc.c to separate header file

Though it's not really useful yet now ncdu.h still includes it
---
 src/Makefile.am |  2 +-
 src/calc.c      |  3 +++
 src/calc.h      | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/main.c      |  1 -
 src/ncdu.h      | 19 ++-----------------
 5 files changed, 54 insertions(+), 19 deletions(-)
 create mode 100644 src/calc.h

diff --git a/src/Makefile.am b/src/Makefile.am
index 1f16c01..c01e11f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,4 +2,4 @@ bin_PROGRAMS = ncdu
 
 ncdu_SOURCES = browser.c calc.c main.c util.c exclude.c help.c delete.c
 
-noinst_HEADERS = ncdu.h
+noinst_HEADERS = calc.h ncdu.h
diff --git a/src/calc.c b/src/calc.c
index 3342f98..64580e4 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -24,6 +24,9 @@
 */
 
 #include "ncdu.h"
+#include "calc.h"
+
+struct state_calc stcalc;
 
 
 
diff --git a/src/calc.h b/src/calc.h
new file mode 100644
index 0000000..527dd67
--- /dev/null
+++ b/src/calc.h
@@ -0,0 +1,48 @@
+/* ncdu - NCurses Disk Usage
+
+  Copyright (c) 2007-2009 Yoran Heling
+
+  Permission is hereby granted, free of charge, to any person obtaining
+  a copy of this software and associated documentation files (the
+  "Software"), to deal in the Software without restriction, including
+  without limitation the rights to use, copy, modify, merge, publish,
+  distribute, sublicense, and/or sell copies of the Software, and to
+  permit persons to whom the Software is furnished to do so, subject to
+  the following conditions:
+
+  The above copyright notice and this permission notice shall be included
+  in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+
+#ifndef _calc_h
+#define _calc_h
+
+struct state_calc {
+  char err;                /* 1/0, error or not */
+  char cur[PATH_MAX];      /* current dir/item */
+  char lasterr[PATH_MAX];  /* last unreadable dir/item */
+  char errmsg[128];        /* error message, when err=1 */
+  struct dir *parent;      /* parent directory for the calculation */
+  dev_t curdev;            /* current device we're calculating on */
+  suseconds_t lastupdate;  /* time of the last screen update */
+  int anpos;               /* position of the animation string */
+  int sterr;               /* state to go to on error (ST_BROWSE/ST_QUIT) */
+};
+extern struct state_calc stcalc;
+
+
+void calc_process(void);
+int  calc_key(int);
+int  calc_draw(void);
+
+
+#endif
diff --git a/src/main.c b/src/main.c
index 12b059f..6dcedea 100644
--- a/src/main.c
+++ b/src/main.c
@@ -32,7 +32,6 @@ char sdir[PATH_MAX];
 int sflags, bflags, sdelay, bgraph;
 int subwinc, subwinr;
 int pstate;
-struct state_calc stcalc;
 
 
 void screen_draw() {
diff --git a/src/ncdu.h b/src/ncdu.h
index 3b96629..989210b 100644
--- a/src/ncdu.h
+++ b/src/ncdu.h
@@ -44,6 +44,8 @@
 #include <sys/time.h>
 #include <dirent.h>
 
+#include "calc.h"
+
 /* set S_BLKSIZE if not defined already in sys/stat.h */
 #ifndef S_BLKSIZE
 # define S_BLKSIZE 512
@@ -136,18 +138,6 @@ struct dir {
   unsigned char flags;
 }; 
 
-struct state_calc {
-  char err;                /* 1/0, error or not */
-  char cur[PATH_MAX];      /* current dir/item */
-  char lasterr[PATH_MAX];  /* last unreadable dir/item */
-  char errmsg[128];        /* error message, when err=1 */
-  struct dir *parent;      /* parent directory for the calculation */
-  dev_t curdev;            /* current device we're calculating on */
-  suseconds_t lastupdate;  /* time of the last screen update */
-  int anpos;               /* position of the animation string */
-  int sterr;               /* state to go to on error (ST_BROWSE/ST_QUIT) */
-};
-
 
 
 /*
@@ -166,7 +156,6 @@ extern int sflags, bflags, sdelay, bgraph;
 extern int subwinr, subwinc;
 /* program state */
 extern int pstate;
-extern struct state_calc stcalc;
 
 
 /*
@@ -183,10 +172,6 @@ void nccreate(int, int, char *);
 void ncprint(int, int, char *, ...);
 struct dir *freedir(struct dir *);
 char *getpath(struct dir *, char *);
-/* calc.c */
-void calc_process(void);
-int  calc_key(int);
-int  calc_draw(void);
 /* browser.c */
 void drawBrowser(int);
 void showBrowser(void);
-- 
GitLab