//dummy attachment functions
-void* email_info_attachment_open_dummy (void* filedata)
+void* email_info_attachment_open_dummy (void *)
{
- return &email_info_attachment_open_dummy;
+ return (void *) &email_info_attachment_open_dummy;
}
-size_t email_info_attachment_read_dummy (void* handle, void* buf, size_t len)
+size_t email_info_attachment_read_dummy (void *, void *, size_t)
{
return 0;
}
do {
if ((p = (char*)realloc(result, resultlen + BODY_BUFFER_SIZE)) == NULL) {
free(result);
+ result = NULL;
DEBUG_ERROR(ERRMSG_MEMORY_ALLOCATION_ERROR)
break;
}
void quickmail_fsave (quickmail mailobj, FILE* filehandle)
{
- int i;
size_t n;
char buf[80];
while ((n = quickmail_get_data(buf, sizeof(buf), 1, mailobj)) > 0) {
- for (i = 0; i < n; i++)
+ for (size_t i = 0; i < n; i++)
fprintf(filehandle, "%c", buf[i]);
}
}
//generate header part
char** p = &mailobj->buf;
mailobj->buf = NULL;
- str_append(p, "User-Agent: libquickmail v" LIBQUICKMAIL_VERSION NEWLINE);
+ str_append(p, "User-Agent: libquickmail\n");
if (mailobj->timestamp != 0) {
char timestamptext[32];
if (strftime(timestamptext, sizeof(timestamptext), "%a, %d %b %Y %H:%M:%S %z", localtime(&mailobj->timestamp))) {\r
}
if (mailobj->buflen == 0 && mailobj->current_attachment && mailobj->current_attachment->handle) {
//read body data
- if ((mailobj->buf = malloc(BODY_BUFFER_SIZE)) == NULL) {
+ if ((mailobj->buf = (char *) malloc(BODY_BUFFER_SIZE)) == NULL) {
DEBUG_ERROR(ERRMSG_MEMORY_ALLOCATION_ERROR)
}
if (mailobj->buf == NULL || (mailobj->buflen = mailobj->current_attachment->email_info_attachment_read(mailobj->current_attachment->handle, mailobj->buf, BODY_BUFFER_SIZE)) <= 0) {
//flush pending data if any
if (mailobj->buflen > 0) {
- int len = (mailobj->buflen > size * nmemb ? size * nmemb : mailobj->buflen);
+ int len = ((size_t) mailobj->buflen > size * nmemb ? size * nmemb : mailobj->buflen);
memcpy(ptr, mailobj->buf, len);
if (len < mailobj->buflen) {
- mailobj->buf = memmove(mailobj->buf, mailobj->buf + len, mailobj->buflen - len);
+ mailobj->buf = (char *) memmove(mailobj->buf, mailobj->buf + len, mailobj->buflen - len);
mailobj->buflen -= len;
} else {
free(mailobj->buf);
//set callback function for getting message body
curl_easy_setopt(curl, CURLOPT_READFUNCTION, quickmail_get_data);
curl_easy_setopt(curl, CURLOPT_READDATA, mailobj);
+ /* Without this curl sends VRFY, which exim errors on
+ (at least on main.carlh.net)
+ */
+ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
//enable debugging if requested
if (mailobj->debuglog) {
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);