Revision 1638 trunk/nntpgrab_core/nntpconnection.c

nntpconnection.c (revision 1638)
434 434
        conn->recv_buffer_length = 0;
435 435
    }
436 436

                
437
    if (!perform_recv(conn, &try_again) && (!try_again || conn->recv_buffer_length == 0)) {
438
        return FALSE;
437
    /* Only read from the socket when there's no newline in the buffer or when we need
438
     * to read raw data which is already buffered */
439
    if ((!read_line) ||
440
        (read_line && !strstr(conn->recv_buffer, "\n"))) {
441

                
442
        if (!perform_recv(conn, &try_again) && (!try_again || conn->recv_buffer_length == 0)) {
443
            return FALSE;
444
        }
439 445
    }
440 446

                
447
    g_return_val_if_fail(conn->recv_buffer_length > 0, FALSE);
448

                
441 449
    if (read_line) {
442 450
        char *newline = strstr(conn->recv_buffer, "\n");
443 451

                

Also available in: Unified diff