예제 #1
0
파일: env.c 프로젝트: berkus/moto
void
moto_emitCFunctions(MotoEnv *env, StringBuffer *out) {
    Enumeration* e;

    buf_puts(out, "/* BEGIN GENERATED FUNCTION DEFINITIONS */\n\n");
    e = htab_getKeys(env->fdefs);
    while (enum_hasNext(e)) {
        MotoFunction *f = (MotoFunction *)enum_next(e);
        buf_puts(out, mfn_cprototype(f));
        buf_puts(out, "{\n");
        buf_puts(out,(char*)htab_get(env->fdefs,f));
        buf_puts(out, "}\n\n");
    }
    buf_puts(out, "/* END GENERATED FUNCTION DEFINITIONS */\n\n");

    buf_puts(out, "/* BEGIN GENERATED ANONYMOUS FUNCTION DEFINITIONS */\n\n");
    e = htab_getKeys(env->adefs);
    while (enum_hasNext(e)) {
        MotoFunction *f = (MotoFunction *)enum_next(e);
        buf_puts(out, mfn_cprototype(f));
        buf_puts(out, "{\n");
        buf_puts(out,(char*)htab_get(env->adefs,f));
        buf_puts(out, "}\n\n");
    }
    buf_puts(out, "/* END GENERATED ANONYMOUS FUNCTION DEFINITIONS */\n\n");
}
예제 #2
0
파일: htab.c 프로젝트: eskaton/c-misc
bool
htab_contains(htab *ht, void *key) {
   if (htab_get(ht, key) != NULL) {
      return true;
   }

   return false;
}