Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Enhance the pop3 TOP command so that the second argument can be zero. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
644931632362bd704b6ab2b24544039a |
User & Date: | drh 2018-07-18 02:14:52.778 |
Context
2018-07-18
| ||
02:19 | Pop3 server sends a final +OK after QUIT. ... (check-in: 06507038 user: drh tags: trunk) | |
02:14 | Enhance the pop3 TOP command so that the second argument can be zero. ... (check-in: 64493163 user: drh tags: trunk) | |
02:09 | Add support for TOP and CAPA to pop3d. ... (check-in: 2c18ed07 user: drh tags: trunk) | |
Changes
Changes to src/smtp.c.
︙ | ︙ | |||
1485 1486 1487 1488 1489 1490 1491 | db_finalize(&q); continue; } if( strcmp(zCmd,"retr")==0 || strcmp(zCmd,"top")==0 ){ Blob all, line; int nLine = 0; int iLimit; | | | | | | | 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 | db_finalize(&q); continue; } if( strcmp(zCmd,"retr")==0 || strcmp(zCmd,"top")==0 ){ Blob all, line; int nLine = 0; int iLimit; int hdrPending = 1; if( zA1==0 ) goto cmd_error; iLimit = zA2 ? atoi(zA2) : 2147483647; if( iLimit<0 ) goto cmd_error; z = db_text(0, "SELECT decompress(emailblob.etxt) " " FROM emailblob, pop3" " WHERE emailblob.emailid=pop3.emailid" " AND pop3.id=%d AND NOT pop3.isDel", atoi(zA1)); if( z==0 ) goto cmd_error; pop3_print(pLog, "+OK"); blob_init(&all, z, -1); while( (hdrPending || iLimit>0) && blob_line(&all, &line) ){ char c = blob_buffer(&line)[0]; if( c=='.' ){ fputc('.', stdout); }else if( c=='\r' || c=='\n' ){ hdrPending = 0; } fwrite(blob_buffer(&line), 1, blob_size(&line), stdout); nLine++; if( !hdrPending ) iLimit--; } if( pLog ) fprintf(pLog, "S: # %d lines of content\n", nLine); pop3_print(pLog, "."); fossil_free(z); blob_reset(&all); blob_reset(&line); fflush(stdout); |
︙ | ︙ |