#include "ssi.h" #include "log.h" #include "util.h" #ifndef MG_MAX_SSI_DEPTH #define MG_MAX_SSI_DEPTH 5 #endif #if MG_ENABLE_SSI static char *mg_ssi(const char *path, const char *root, int depth) { struct mg_iobuf b = {NULL, 0, 0}; FILE *fp = fopen(path, "rb"); if (fp != NULL) { char buf[BUFSIZ] = "", arg[sizeof(buf)] = ""; int ch, intag = 0; size_t len = 0, align = MG_IO_SIZE; while ((ch = fgetc(fp)) != EOF) { if (intag && ch == '>' && buf[len - 1] == '-' && buf[len - 2] == '-') { buf[len++] = (char) (ch & 0xff); if (sscanf(buf, "