Exemplo n.º 1
0
rc_t KEntrezFetcherRead ( KEntrezFetcher *self,
                          void *dst, size_t dst_size, size_t *num_read )
{
    rc_t rc;
    
    if ( dst == NULL || dst_size == 0 || num_read == NULL )
        return RC ( rcApp, rcFunction, rcAccessing, rcParam, rcNull );
    if ( self == NULL )
        return RC ( rcApp, rcFunction, rcAccessing, rcSelf, rcNull );
    if ( self -> url_fetcher == NULL || self -> uri == NULL )
        return RC ( rcApp, rcFunction, rcAccessing, rcParam, rcNull );

    rc = KUrlFetcherRead( self -> url_fetcher, self -> uri, dst, dst_size, num_read );
    if ( rc == 0 )
    {
        remove_first_line( dst, num_read );
        filter_char( dst, num_read, '\n' );
    }
    return rc;
}
Exemplo n.º 2
0
static void remove_old_lines(WINDOW_REC *window)
{
	GUI_WINDOW_REC *gui;
	LINE_REC *line;
	time_t old_time;

	gui = WINDOW_GUI(window);

	old_time = time(NULL)-(scrollback_hours*3600);
	if (scrollback_lines > 0) {
                /* remove lines by line count */
		while (window->lines > scrollback_lines) {
			line = gui->lines->data;
			if (line->time >= old_time) {
				/* too new line, don't remove yet */
				break;
			}
			remove_first_line(window);
		}
	}
}