1
0
Fork 0
mirror of https://github.com/pissnet/angiosperm.git synced 2025-05-15 04:15:02 +01:00

msgbuf: correctly split buffers into IRCv3 tags and RFC1459 message data

This commit is contained in:
Simon Arlott 2017-06-28 21:24:10 +01:00
parent 9f46eae691
commit f3564f47f4
No known key found for this signature in database
GPG key ID: C8975F2043CA5D24
6 changed files with 207 additions and 92 deletions
include

View file

@ -55,7 +55,7 @@ int msgbuf_parse(struct MsgBuf *msgbuf, char *line);
* cmd may not be NULL.
* returns 0 on success, 1 on error.
*/
int msgbuf_unparse(char *buf, size_t buflen, struct MsgBuf *msgbuf, unsigned int capmask);
int msgbuf_unparse(char *buf, size_t buflen, const struct MsgBuf *msgbuf, unsigned int capmask);
/*
* unparse a MsgBuf header plus payload into a buffer.
@ -63,10 +63,10 @@ int msgbuf_unparse(char *buf, size_t buflen, struct MsgBuf *msgbuf, unsigned int
* cmd may not be NULL.
* returns 0 on success, 1 on error.
*/
int msgbuf_unparse_fmt(char *buf, size_t buflen, struct MsgBuf *head, unsigned int capmask, const char *fmt, ...) AFP(5, 6);
int msgbuf_vunparse_fmt(char *buf, size_t buflen, struct MsgBuf *head, unsigned int capmask, const char *fmt, va_list va);
int msgbuf_unparse_fmt(char *buf, size_t buflen, const struct MsgBuf *head, unsigned int capmask, const char *fmt, ...) AFP(5, 6);
int msgbuf_vunparse_fmt(char *buf, size_t buflen, const struct MsgBuf *head, unsigned int capmask, const char *fmt, va_list va);
void msgbuf_unparse_prefix(char *buf, size_t buflen, struct MsgBuf *msgbuf, unsigned int capmask);
void msgbuf_unparse_prefix(char *buf, size_t *buflen, const struct MsgBuf *msgbuf, unsigned int capmask);
static inline void
msgbuf_init(struct MsgBuf *msgbuf)
@ -85,13 +85,4 @@ msgbuf_append_tag(struct MsgBuf *msgbuf, const char *key, const char *value, uns
}
}
static inline void
msgbuf_append_para(struct MsgBuf *msgbuf, const char *para)
{
if (msgbuf->n_para < MAXPARA) {
msgbuf->para[msgbuf->n_para] = para;
msgbuf->n_para++;
}
}
#endif