#include "block.h" char* gravityBlockToCStr(GravityBlock block) { StringBuffer buff; initStringBuff(&buff); // print block header sbAppend(&buff, "%s (", block->name); for (unsigned int i = 0; i < block->numParams; i++) { if (i < block->numParams - 1) { sbAppend(&buff, "%s, ", gravityTypeToCStr(block->paramTypes[i])); } else { sbAppend(&buff, "%s", gravityTypeToCStr(block->paramTypes[i])); } } sbAppend(&buff, "):\n"); for (unsigned int i = 0; i < block->instructions.count; i++) { GravityInstruction inst = *get(block->instructions, i); sbAppend(&buff, " %s\n", gravityInstructionToCStr(inst)); } return buff.data; }