summaryrefslogtreecommitdiff
path: root/procyon/source/bs/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'procyon/source/bs/init.c')
-rw-r--r--procyon/source/bs/init.c51
1 files changed, 0 insertions, 51 deletions
diff --git a/procyon/source/bs/init.c b/procyon/source/bs/init.c
deleted file mode 100644
index 1f4c57e..0000000
--- a/procyon/source/bs/init.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <acm/gfx.h>
-
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <zap/mem.h>
-
-sig_atomic_t volatile acm_gotintr;
-
-typeof (acm_dat) acm_dat;
-
-static char * acm_getsavloc(void) {
- char const * const hmdir = getenv("HOME");
- if (hmdir == nullptr) {
- fprintf(stderr,"Unable to get home directory (HOME not set)\n");
- acm_exit(acm_stat_err);
- }
- char const * const savfilnm = ".procyon-save";
- zap_sz const hmdirlen = zap_strlen(hmdir);
- zap_sz const savfilnmlen = zap_strlen(savfilnm);
- zap_sz const savloclen = hmdirlen + 0x1u + savfilnmlen;
- char * savloc = malloc(savloclen + 0x1u);
- if (savloc == nullptr) {
- fprintf(stderr,"Unable allocate memory\n");
- acm_exit(acm_stat_err);
- }
- zap_memcp(hmdir,hmdirlen,savloc);
- savloc[hmdirlen] = '/';
- zap_memcp(savfilnm,savfilnmlen,savloc + hmdirlen + 0x1u);
- savloc[savloclen] = 0x0u;
- return savloc;
-}
-
-static void acm_intrhandl(int const _sig) {
- signal(_sig,acm_intrhandl); /* Ignore the return value. */
- acm_gotintr = 0x1;
-}
-
-void acm_init(void) {
- acm_gotintr = 0x0;
- acm_dat.gfxisinit = false;
- acm_dat.win = nullptr;
- acm_log("Initialising data\n");
- acm_dat.savloc = acm_getsavloc();
- acm_log("Initialising signal handlers\n");
- if (signal(SIGINT,acm_intrhandl) == SIG_ERR) {
- fprintf(stderr,"Unable to set SIGINT handler\n");
- acm_exit(acm_stat_err);
- }
- acm_initgfx();
-}