/********************************************************************** 
  Set values to zeros; should have free'd/closed everything before
  this if appropriate.
***********************************************************************/
static void init_zeros(struct inputfile *inf)
{
  assert(inf != NULL);
  inf->magic = INF_MAGIC;
  inf->filename = NULL;
  inf->fp = NULL;
  inf->datafn = NULL;
  inf->included_from = NULL;
  inf->line_num = inf->cur_line_pos = 0;
  inf->at_eof = inf->in_string = FALSE;
  inf->string_start_line = 0;
  astr_init(&inf->cur_line);
  astr_init(&inf->copy_line);
  astr_init(&inf->token);
  astr_init(&inf->partial);
}
Exemple #2
0
struct astr *astr_alloc(size_t len) {
	struct astrstr *str;
	str = amalloc(sizeof(struct astrstr) + len + 1);
	if (str == NULL) {
		return NULL;
	}

	astr_init(str, 0, str->data_start, __astr_destroystr);
	return str;
}
Exemple #3
0
struct astr *astr_create(size_t len, char *data) {
	struct astr *str;
	str = amalloc(sizeof(struct astr));
	if (str == NULL) {
		return NULL;
	}

	astr_init(str, len, data, __astr_destroy);
	return str;
}