X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=interpreters%2Fgit%2Fgestalt.c;fp=interpreters%2Fgit%2Fgestalt.c;h=fb582807eb013329e95c442bcfe73bfa07e2252d;hb=147a8cbf17f2b3379277bf7d37cda9866510f16c;hp=0000000000000000000000000000000000000000;hpb=7de488aa6a1709a4d5c59b5ff59862105c1748c5;p=rodin%2Fchimara.git diff --git a/interpreters/git/gestalt.c b/interpreters/git/gestalt.c new file mode 100644 index 0000000..fb58280 --- /dev/null +++ b/interpreters/git/gestalt.c @@ -0,0 +1,51 @@ +#include "git.h" + +git_uint32 gestalt (enum GestaltSelector sel, git_uint32 param) +{ + switch (sel) + { + case GESTALT_SPEC_VERSION: + return 0x00030100; + + case GESTALT_TERP_VERSION: + return GIT_VERSION_NUM; + + case GESTALT_RESIZEMEM: + return 1; + + case GESTALT_UNDO: + return 1; + + case GESTALT_IO_SYSTEM: + if (param == IO_NULL || param == IO_FILTER || param == IO_GLK) + return 1; + else + return 0; + + case GESTALT_UNICODE: + return 1; + + case GESTALT_MEM_COPY: + return 1; + + case GESTALT_MALLOC: + return 1; + + case GESTALT_ACCELERATION: + return 1; + + case GESTALT_ACCELFUNC: + if (accel_find_func(param)) + return 1; + return 0; + + case GESTALT_MALLOC_HEAP: + return heap_get_start(); + + case GESTALT_GIT_CACHE_CONTROL: + return 1; + + default: // Unknown selector. + return 0; + } +}