-unsigned char* colorize(unsigned char *out, const unsigned char *left, const unsigned char *right, const char *alg){
- if (!strcmp(alg, "-fgm")) return full_gm(out, left, right);
- if (!strcmp(alg, "-hgm")) return half_gm(out, left, right);
- if (!strcmp(alg, "-dgm")) return dubois_gm(out, left, right);
+unsigned char* (*parse_func(const char *arg))(unsigned char*, const unsigned char*, const unsigned char*){
+ if (!strcmp(arg, "-fgm")) return &full_gm;
+ if (!strcmp(arg, "-hgm")) return &half_gm;
+ if (!strcmp(arg, "-dgm")) return &dubois_gm;