Esempio n. 1
0
uniqstr
uniqstr_vsprintf (char const *format, ...)
{
  va_list args;
  size_t length;
  va_start (args, format);
  length = vsnprintf (NULL, 0, format, args);
  va_end (args);

  char res[length + 1];
  va_start (args, format);
  vsprintf (res, format, args);
  va_end (args);
  return uniqstr_new (res);
}
Esempio n. 2
0
void
boundary_set_from_string (boundary *bound, char *loc_str)
{
  /* Must search in reverse since the file name field may
   * contain `.' or `:'.  */
  char *delim = _mbsrchr (loc_str, '.');
  aver (delim);
  *delim = '\0';
  bound->column = atoi (delim+1);
  delim = _mbsrchr (loc_str, ':');
  aver (delim);
  *delim = '\0';
  bound->line = atoi (delim+1);
  bound->file = uniqstr_new (loc_str);
}
Esempio n. 3
0
uniqstr
uniqstr_vsprintf (char const *format, ...)
{
  char *res = NULL;
  va_list args;
  size_t length;
  uniqstr result;

  va_start (args, format);
  length = vsnprintf (NULL, 0, format, args);
  va_end (args);

  res = malloc(sizeof(char)*(length+1));
  //char res[length + 1];
  va_start (args, format);
  vsprintf (res, format, args);
  va_end (args);

  result = uniqstr_new (res);

  free(res);

  return result;//uniqstr_new (res);
}