Beispiel #1
0
char* my_strtok(char* str, const char* delimiters)
{
	static char* last = NULL;
	char* tokenbeg;
	char* tokenend;
	if (delimiters == NULL)
	{
		return NULL;
	}
	if (str != NULL)
	{
		last = str;
	}

	if ((*last == STREND) && (str == NULL))
	{
		return NULL;
	}
	tokenbeg = last;
	tokenend = my_strpbrk(tokenbeg, delimiters);
	if (tokenend == NULL)
	{
		last += my_strlen(last);
		return tokenbeg;
	}
	while ((tokenend - tokenbeg) < 1)
	{
		tokenbeg = tokenend + 1;
		tokenend = my_strpbrk(tokenend + 1, delimiters);

	}
	last = tokenend + 1;
	*tokenend = STREND;
	return tokenbeg;
}
Beispiel #2
0
int TV_ttf_add_row(const char *field_name,
                   const char *type_name,
                   const void *value)
{
  size_t remaining;
  int out;

  /*
  printf ( "TV_ttf_add_row: on entry TV_ttf_data_format_control == %d\n", TV_ttf_data_format_control );
  */

  /* Called at the wrong time */
  if (TV_ttf_data_format_control == TV_FORMAT_INACTIVE)
    return TV_ttf_ec_not_active;
    
  if (my_strpbrk(field_name, "\n\t") != NULL)
    return TV_ttf_ec_invalid_characters;

  if (my_strpbrk(type_name, "\n\t") != NULL)
    return TV_ttf_ec_invalid_characters;

  if (TV_ttf_data_format_control == TV_FORMAT_FIRST_CALL)
    {
      /* Zero out the buffer to avoid confusion, and set the write point 
         to the top of the buffer. */

      my_zeroit(TV_ttf_data_format_buffer, sizeof (TV_ttf_data_format_buffer));
      TV_ttf_data_buffer_ptr     = TV_ttf_data_format_buffer;
      TV_ttf_data_format_control = TV_FORMAT_APPEND_CALL;
    }
        
  remaining = TV_ttf_data_buffer_ptr +
              DATA_FORMAT_BUFFER_SIZE - TV_ttf_data_format_buffer;
  
/*
  out = snprintf(TV_ttf_data_buffer_ptr, 
                 remaining, "%s\t%s\t%p\n", 
                 field_name, type_name, value);
*/
  out = marshal_row ( TV_ttf_data_buffer_ptr, remaining,
                      field_name, type_name, value, 0, 0 );
  
  if (out < 1)
    return TV_ttf_ec_buffer_exhausted;
    
  TV_ttf_data_buffer_ptr += out;
  
  return 0;
} /* TV_ttf_add_row */