@@ -10,11 +10,11 @@ TODO add macro to use homebrew strlen instead of dragging in */ #ifdef k_header // only emit the declarations -# define fn(x) +# define k_impl(x) #else -# define fn(x) x +# define k_impl(x) x #endif #include @@ -35,14 +35,14 @@ size_t len; } safestr; #ifndef k_static - void delstr(safestr s) fn ({ + void delstr(safestr s) k_impl ({ if (s.heap) { free(s.mutptr); } }); #endif -void clrstr(safestr* s) fn ({ +void clrstr(safestr* s) k_impl ({ # ifndef k_static delstr(*s); s->heap = false; # endif @@ -49,9 +49,9 @@ s->ptr = NULL; s->len = 0; }) -size_t pstrsum(pstr* lst,size_t ct) fn({ +size_t pstrsum(pstr* lst,size_t ct) k_impl ({ size_t len = 0; for (size_t i = 0; i < ct; ++i) { if (lst[i].len == 0) { if (lst[i].ptr == NULL) continue; @@ -61,9 +61,9 @@ } return len; }) -char* pstrcoll(pstr* lst, size_t ct, char* ptr) fn({ +char* pstrcoll(pstr* lst, size_t ct, char* ptr) k_impl ({ for (size_t i = 0; i < ct; ++i) { if (lst[i].len == 0) continue; strncpy(ptr,lst[i].ptr,lst[i].len); ptr += lst[i].len; @@ -71,9 +71,9 @@ return ptr; }) #ifndef k_static -char* compose(pstr* lst,size_t ct, size_t* strsz) fn({ +char* compose(pstr* lst,size_t ct, size_t* strsz) k_impl ({ size_t len = pstrsum(lst,ct) if (strsz != NULL) *strsz = len; if (len == 0) return NULL; @@ -83,9 +83,9 @@ return str; }); #endif -char* impose(pstr* lst,size_t ct, size_t* strsz, char* buf) fn({ +char* impose(pstr* lst,size_t ct, size_t* strsz, char* buf) k_impl({ size_t len = pstrsum(lst,ct); if (strsz != NULL) *strsz = len; if (len == 0) return NULL; @@ -93,9 +93,9 @@ *ptr = 0; return ptr; }); -char* imprint(pstr lst, size_t* strsz, char* buf) fn({ +char* imprint(pstr lst, size_t* strsz, char* buf) k_impl({ size_t len = pstrsum(&lst,1); if (strsz != NULL) *strsz = len; if (len == 0) return NULL; @@ -102,5 +102,5 @@ char* ptr = pstrcoll(&lst,1,buf); *ptr = 0; return ptr; }); -#undef fn +#undef k_impl