Bontiv-Sourceer source code viewer
Root | Help
./web-crawler/src/tplcp/interpret.c
/*
Template interpretor
*/

#include "interpret.h"

char* flush(tpl_data dat, auto_t aut)
{
  size_t len;
  char* str;
  char* value;
  size_t vallen;

  str = malloc(4);
  len = 0;
  while (aut != 0)
    {
      if (aut->type == 0)
	{
	  str = realloc(str, len + aut->len);
	  memcpy(str + len, aut->value, aut->len);
	  len += aut->len;
	}
      else if (aut->type == 1)
	{
	  value = tpl_get(dat, aut->value);
	  if (value != 0)
	    {
	      vallen = strlen(value);
	      str = realloc(str, len + vallen);
	      memcpy(str + len, value, vallen);
	      len += vallen;
	    }
	}
      aut = aut->next;
    }
  str = realloc(str, len + 1);
  str[len] = 0;
  return str;
}
Presented with Bontiv-Sourceer