END_TEST START_TEST(test_swap_sint16_neg) { sint16 ile; sint16_be ibe; ile = 0xFF00; ibe = swap_sint16(ile); #ifndef WORDS_BIGENDIAN fail_if(ibe != (0x00FF)); #endif fail_if(swap_sint16(ibe) != ile); }
END_TEST START_TEST(test_swap_sint16) { sint16 ile; sint16_be ibe; ile = 0x1122; ibe = swap_sint16(ile); #ifndef WORDS_BIGENDIAN fail_if(ibe != 0x2211); #endif fail_if(swap_sint16(ibe) != ile); }
/* read a date */ static amf0_data * amf0_date_read(read_proc_t read_proc, void * user_data) { number64_t milliseconds; int16_t timezone; if (read_proc(&milliseconds, sizeof(number64_t), user_data) == sizeof(number64_t) && read_proc(&timezone, sizeof(int16_t), user_data) == sizeof(int16_t)) { return amf0_date_new(swap_number64(milliseconds), swap_sint16(timezone)); } else { return NULL; } }
/* read a date */ static amf_data * amf_date_read(amf_read_proc read_proc, void * user_data) { number64_be milliseconds; sint16_be timezone; if (read_proc(&milliseconds, sizeof(number64_be), user_data) == sizeof(number64_be) && read_proc(&timezone, sizeof(sint16_be), user_data) == sizeof(sint16_be)) { return amf_date_new(swap_number64(milliseconds), swap_sint16(timezone)); } else { return amf_data_error(AMF_ERROR_EOF); } }
/* write a date */ static size_t amf0_date_write(amf0_data * data, write_proc_t write_proc, void * user_data) { size_t w = 0; number64_t milli; int16_t tz; milli = swap_number64(data->date_data.milliseconds); w += write_proc(&milli, sizeof(number64_t), user_data); tz = swap_sint16(data->date_data.timezone); w += write_proc(&tz, sizeof(int16_t), user_data); return w; }
/* write a date */ static size_t amf_date_write(const amf_data * data, amf_write_proc write_proc, void * user_data) { size_t w = 0; number64_be milli; sint16_be tz; milli = swap_number64(data->date_data.milliseconds); w += write_proc(&milli, sizeof(number64_be), user_data); tz = swap_sint16(data->date_data.timezone); w += write_proc(&tz, sizeof(sint16_be), user_data); return w; }