fixes
authorJordan <jordanlavatai@gmail.com>
Wed, 11 Jan 2017 22:56:36 +0000 (14:56 -0800)
committerJordan <jordanlavatai@gmail.com>
Wed, 11 Jan 2017 22:56:36 +0000 (14:56 -0800)
src/ir.c
src/parser.y

index 3f22400..4255f22 100644 (file)
--- a/src/ir.c
+++ b/src/ir.c
@@ -25,8 +25,6 @@ int      ir_condenser(void);
 /* Private */\r
 extern //apc.c\r
 long sys_pagesize;\r
-static\r
-\r
 static inline\r
 struct ir_framebox_t* ir_set_add_framebox(struct ir_set_t*, uint8_t*);\r
 static\r
@@ -36,6 +34,7 @@ int                   bytes_identical(uint8_t*,uint8_t*);
 static\r
 void*                 stack_alloc(size_t);\r
 /* Memory allocator */\r
+struct pagenode_t;\r
 struct pagenode_t {\r
   struct pagenode_t* next;\r
   char*              head;\r
@@ -60,20 +59,19 @@ struct ir_frameinfo_t
 struct ir_framedata_t\r
 { struct ir_setdata_header_t header;\r
   struct ir_frameinfo_t     frameinfo;\r
-}** framedatas;\r
+};\r
 struct ir_framebox_t\r
 { struct ir_setdata_header_t header;\r
   struct ir_framedata_t      framesheets[FACING_MAX];\r
   struct ir_framedata_t      mapsheets[FACING_MAX];\r
-}** frameboxes;\r
+};\r
 struct ir_simplex_t\r
-{ struct ir_setdat_header_t header;\r
-}** simplexes;\r
+{ struct ir_setdata_header_t header; };\r
 struct ir_link_t\r
-{ struct ir_setdat_header_t header;\r
-  struct ir_set_t*          src, * trg;\r
-  enum ltype                type;\r
-}** links;\r
+{ struct ir_setdata_header_t header;\r
+  struct ir_set_t*           src, * trg;\r
+  enum ltype                 type;\r
+};\r
 union ir_setdata_t\r
 { struct ir_setdata_header_t  header;\r
   struct ir_framebox_t        framebox;\r
@@ -86,7 +84,7 @@ struct ir_class_t
 { struct ir_class_t* nextchild, * nextsib;\r
   struct ir_set_t*   root_set;\r
   uint8_t*           name;\r
-}** classes;\r
+};\r
 struct ir_set_t\r
 { struct ir_set_t*    nextchild, * nextsib;\r
   struct ir_class_t*  class;\r
@@ -95,7 +93,7 @@ struct ir_set_t
   struct framebox_t*  frameboxes;\r
   struct simplex_t*   audio;\r
   struct link_t*      links;\r
-}** sets;\r
+};\r
 /* Function-Like Macros */\r
 #define do_warn() do {                         \\r
   } while (0)\r
@@ -120,14 +118,13 @@ struct ir_set_t
   } while (0)\r
 #define struct_alloc(_T) ((struct _T*) stack_alloc(sizeof(struct _T)))\r
 \r
-\r
 static\r
-struct ir_class_t root_class = { .name = "." };\r
+struct ir_class_t root_class = { .name = (uint8_t*)"." };\r
 \r
 /* Init */\r
 int ir_init\r
 ( void )\r
-{ pagenode_root = calloc(struct pagenode_t*) calloc(PN_ALLOCSIZE);\r
+{ pagenode_root = (struct pagenode_t*) calloc(PN_ALLOCSIZE);\r
   if (pagenode_root == NULL)\r
     return -1;\r
   pagenode_root->head = pagenode_root->root;\r
index 41c4095..959890d 100644 (file)
@@ -3,8 +3,9 @@
 %code requires {
   #include <unitypes.h>
   #include "ir.h"
+  #include "apc.h"
   typedef struct class_state_t yycstate;
-  struct frame_spec_t { ir_facing d; int w, h; };
+  struct frame_spec_t { apc_facing d; int w, h; };
 }
 %code provides {
   yycstate* yycstate_new(void);
@@ -16,7 +17,7 @@
   #include <dirent.h>
   #include <unitypes.h>
   #include "ir.h"
-
+  
   struct class_state_t {
     ir_class *csp;
     ir_class class_stack[];
@@ -39,7 +40,7 @@
 %union {
   long long  ref;
   int        val;
-  ir_facing  face;
+  apc_facing  face;
   uint8_t*   str;
   ir_class   class;
   ir_set     set;