Beispiel #1
0
char	*get_next_line(void)
{
  char	*line;
  char	*buffer;
  int	i;

  i = 0;
  if ((line = malloc(2)) == NULL)
    return (NULL);
  if ((buffer = malloc(2)) == NULL)
    return (NULL);
  ini_line_buffer(line, buffer);
  while (buffer[0] != '\n' && (buffer[0] != '\0' || i == 0))
    {
      if (next_read(buffer, i) == -1)
	return (NULL);
      if (buffer[0] != '\n')
	{
	  line[i++] = buffer[0];
	  if ((line = my_realloc(line, i + 1)) == NULL)
	    return (NULL);
	}
    }
  free(buffer);
  return (line);
}
Beispiel #2
0
unsigned char get_from_buf() {
    unsigned char ret;
    if (buf_write == buf_read) {
        ret = last_read;
    } else {
        ret = last_read = buf[buf_read];
        buf_read = next_read();
    }
    return ret;
}