libspopc.h | libspopc.h | |||
---|---|---|---|---|
skipping to change at line 97 | skipping to change at line 97 | |||
/* performs a "APOP" secure pop query and returns server's <128 bytes respo nse */ | /* performs a "APOP" secure pop query and returns server's <128 bytes respo nse */ | |||
/* this one is not in the API, just for libspopc internal use: */ | /* this one is not in the API, just for libspopc internal use: */ | |||
char* recv_rest(int sock, char* buf, int cs, int bs); | char* recv_rest(int sock, char* buf, int cs, int bs); | |||
/* recv rest of data through sock, given a cs bytes filled buffer of total size bs */ | /* recv rest of data through sock, given a cs bytes filled buffer of total size bs */ | |||
/* end of data is assumed when data has a "\n.\n" or "\n.\0" string */ | /* end of data is assumed when data has a "\n.\n" or "\n.\0" string */ | |||
/********************* | /********************* | |||
* parsing utilities * | * parsing utilities * | |||
*********************/ | *********************/ | |||
#define DOTLINE(s) (((s)[0]=='\r'||(s)[0]=='\n')&&((s)[1]=='.')&&((s)[2]==' | #define DOTLINE(s) ((s)[0]=='\n'&&(s)[1]=='.'&&((s)[2]=='\r'||(s)[2]=='\n') | |||
\r'||(s)[2]=='\n'||(s)[2]=='\0')) /* be careful, it's different to ESR's po | ) | |||
p3.c ;-) */ | /* be careful, it's different to ESR's pop3.c ;-) */ | |||
#define DOTBEGIN(s) (((s)[0]=='\r'||(s)[0]=='\n')&&((s)[1]=='.')) | #define DOTBEGIN(s) ((s)[0]=='\n'&&(s)[1]=='.') | |||
int dotline(char* buf, int bs); | int dotline(char* buf); | |||
/* returns 1 if buf contains a "\n.\n" or "\n.\0" or \r.(etc) substring */ | /* returns 1 if buf contains a "\n.\n" or "\n.\0" or \r.(etc) substring */ | |||
/* buf must be erminated by '\0' */ | ||||
int pop3_error(char* string); | int pop3_error(char* string); | |||
/* returns 1 if pop server error reply (i.e : -ERR ...) */ | /* returns 1 if pop server error reply (i.e : -ERR ...) */ | |||
/************************************ | /************************************ | |||
* reply re-formatting, after query * | * reply re-formatting, after query * | |||
************************************/ | ************************************/ | |||
char* nextline(char* string); | char* nextline(char* string); | |||
/* returns a pointer to the next line of given string */ | /* returns a pointer to the next line of given string */ | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 6 lines changed or added | |||