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; }
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); } } }