on master help sign in
Remove _null macro
commit8ce876ced33c0529afceb0eef7bc7c3543755e26 authorJorge Acereda <jacereda@gmail.com> dateSun 1 Apr 2018, 10:55 (9 years ago) parentcdeea74
2 files changed+4−3
rts/idris_rts.c+2−1 rts/idris_rts.h+2−2
rts/idris_rts.c+2−1
@@ -274,7 +274,8 @@ VAL MKFLOATc(VM* vm, double val) {
274274
275275static VAL mkstrlen(VM* vm, const char * str, size_t len, int outer) {
276276 String * cl = allocStr(vm, len, outer);
277− cl->_null = str == NULL;
277+ // hdr.u8 used to mark a null string
278+ cl->hdr.u8 = str == NULL;
278279 memcpy(cl->str, str, len);
279280 return (VAL)cl;
280281}
rts/idris_rts.h+2−2
@@ -73,7 +73,6 @@ typedef struct Float {
7373typedef struct String {
7474 Hdr hdr;
7575 size_t slen;
76−#define _null hdr.u8
7776 char str[0];
7877} String;
7978
@@ -241,7 +240,8 @@ typedef void(*func)(VM*, VAL*);
241240
242241// Retrieving values
243242static inline char * getstr(String * x) {
244− return x->_null? NULL : x->str;
243+ // hdr.u8 used to mark a null string
244+ return x->hdr.u8? NULL : x->str;
245245}
246246
247247static inline size_t getstrlen(String * x) {