Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge...
[ardour.git] / libs / evoral / src / libsmf / smf_save.c
index 1941ed4f7ba874505eab98190a15eeb066be1f73..120c3a95ebd2a577f067509ddc228d33dbdbb27b 100644 (file)
 #include <assert.h>
 #include <math.h>
 #include <errno.h>
+#ifdef PLATFORM_WINDOWS
+#include <winsock2.h>
+#else
 #include <arpa/inet.h>
+#endif
 #include "smf.h"
 #include "smf_private.h"
 
@@ -54,7 +58,7 @@ static void *
 smf_extend(smf_t *smf, const int length)
 {
        int i, previous_file_buffer_length = smf->file_buffer_length;
-       char *previous_file_buffer = smf->file_buffer;
+       char *previous_file_buffer = (char*)smf->file_buffer;
 
        /* XXX: Not terribly efficient. */
        smf->file_buffer_length += length;
@@ -201,7 +205,7 @@ smf_event_new_textual(int type, const char *text)
 
        /* "2 +" is for leading 0xFF 0xtype. */
        event->midi_buffer_length = 2 + text_length + MAX_VLQ_LENGTH;
-       event->midi_buffer = malloc(event->midi_buffer_length);
+       event->midi_buffer = (uint8_t*)malloc(event->midi_buffer_length);
        if (event->midi_buffer == NULL) {
                g_critical("Cannot allocate MIDI buffer structure: %s", strerror(errno));
                smf_event_delete(event);
@@ -545,7 +549,7 @@ assert_smf_event_is_identical(const smf_event_t *a, const smf_event_t *b)
 {
        assert(a->event_number == b->event_number);
        assert(a->delta_time_pulses == b->delta_time_pulses);
-       assert(abs(a->time_pulses - b->time_pulses) <= 2);
+       assert(abs((long)(a->time_pulses - b->time_pulses)) <= 2);
        assert(fabs(a->time_seconds - b->time_seconds) <= 0.01);
        assert(a->track_number == b->track_number);
        assert(a->midi_buffer_length == b->midi_buffer_length);