typedef char* charp; #define P #define T charp #include <lst.h> typedef struct { int x, y; } point; #define P #define T point #include <lst.h> int main(void) { lst_charp a = lst_charp_init(); lst_point b = lst_point_init(); lst_charp_push_back(&a, "the"); lst_charp_push_back(&a, "quick"); lst_charp_push_back(&a, "brown"); lst_charp_push_back(&a, "fox"); lst_point_push_back(&b, (point) { 53, 32 }); lst_point_push_back(&b, (point) { 11, 22 }); lst_point_push_back(&b, (point) { 83, 23 }); lst_charp_free(&a); lst_point_free(&b); }
(I scrolled through it and assumed you'd just do "#define lst list_charp"?)
Although if you're interested in just a batch rename, it's something like this:
#define vec_char str #define P #define T char #include <vec.h>