diff --git a/host/hackrf-tools/CMakeLists.txt b/host/hackrf-tools/CMakeLists.txt index 8bf2a068..bb3a4193 100644 --- a/host/hackrf-tools/CMakeLists.txt +++ b/host/hackrf-tools/CMakeLists.txt @@ -32,6 +32,7 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake/modules) if(MSVC) include_directories(getopt) +add_definitions(/D _CRT_SECURE_NO_WARNINGS) else() add_definitions(-Wall) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu90") diff --git a/host/hackrf-tools/src/hackrf_cpldjtag.c b/host/hackrf-tools/src/hackrf_cpldjtag.c index 5e0bfcb0..fe3bce23 100644 --- a/host/hackrf-tools/src/hackrf_cpldjtag.c +++ b/host/hackrf-tools/src/hackrf_cpldjtag.c @@ -31,7 +31,11 @@ #include #ifdef _MSC_VER -typedef int ssize_t; +#ifdef _WIN64 +typedef int64_t ssize_t; +#else +typedef int32_t ssize_t; +#endif #endif /* input file shouldn't be any longer than this */ #define MAX_XSVF_LENGTH 0x10000 diff --git a/host/hackrf-tools/src/hackrf_max2837.c b/host/hackrf-tools/src/hackrf_max2837.c index ced59a48..d8fb75f5 100644 --- a/host/hackrf-tools/src/hackrf_max2837.c +++ b/host/hackrf-tools/src/hackrf_max2837.c @@ -64,7 +64,7 @@ int parse_int(char* s, uint16_t* const value) { s_end = s; long_value = strtol(s, &s_end, base); if( (s != s_end) && (*s_end == 0) ) { - *value = long_value; + *value = (uint16_t)long_value; return HACKRF_SUCCESS; } else { return HACKRF_ERROR_INVALID_PARAM; @@ -73,7 +73,7 @@ int parse_int(char* s, uint16_t* const value) { int dump_register(hackrf_device* device, const uint16_t register_number) { uint16_t register_value; - int result = hackrf_max2837_read(device, register_number, ®ister_value); + int result = hackrf_max2837_read(device, (uint8_t)register_number, ®ister_value); if( result == HACKRF_SUCCESS ) { printf("[%2d] -> 0x%03x\n", register_number, register_value); @@ -104,7 +104,7 @@ int write_register( const uint16_t register_value ) { int result = HACKRF_SUCCESS; - result = hackrf_max2837_write(device, register_number, register_value); + result = hackrf_max2837_write(device, (uint8_t)register_number, register_value); if( result == HACKRF_SUCCESS ) { printf("0x%03x -> [%2d]\n", register_value, register_number); diff --git a/host/hackrf-tools/src/hackrf_rffc5071.c b/host/hackrf-tools/src/hackrf_rffc5071.c index b5409809..c9630dd4 100644 --- a/host/hackrf-tools/src/hackrf_rffc5071.c +++ b/host/hackrf-tools/src/hackrf_rffc5071.c @@ -65,7 +65,7 @@ int parse_int(char* s, uint16_t* const value) { s_end = s; long_value = strtol(s, &s_end, base); if( (s != s_end) && (*s_end == 0) ) { - *value = long_value; + *value = (uint16_t)long_value; return HACKRF_SUCCESS; } else { return HACKRF_ERROR_INVALID_PARAM; @@ -74,7 +74,7 @@ int parse_int(char* s, uint16_t* const value) { int dump_register(hackrf_device* device, const uint16_t register_number) { uint16_t register_value; - int result = hackrf_rffc5071_read(device, register_number, ®ister_value); + int result = hackrf_rffc5071_read(device, (uint8_t)register_number, ®ister_value); if( result == HACKRF_SUCCESS ) { printf("[%2d] -> 0x%03x\n", register_number, register_value); @@ -105,7 +105,7 @@ int write_register( const uint16_t register_value ) { int result = HACKRF_SUCCESS; - result = hackrf_rffc5071_write(device, register_number, register_value); + result = hackrf_rffc5071_write(device, (uint8_t)register_number, register_value); if( result == HACKRF_SUCCESS ) { printf("0x%03x -> [%2d]\n", register_value, register_number); diff --git a/host/hackrf-tools/src/hackrf_si5351c.c b/host/hackrf-tools/src/hackrf_si5351c.c index 666ac7e4..41146f2c 100644 --- a/host/hackrf-tools/src/hackrf_si5351c.c +++ b/host/hackrf-tools/src/hackrf_si5351c.c @@ -49,7 +49,7 @@ int parse_int(char* const s, uint16_t* const value) { char* s_end = s; const long long_value = strtol(s, &s_end, 10); if( (s != s_end) && (*s_end == 0) ) { - *value = long_value; + *value = (uint16_t)long_value; return HACKRF_SUCCESS; } else { return HACKRF_ERROR_INVALID_PARAM; diff --git a/host/hackrf-tools/src/hackrf_spiflash.c b/host/hackrf-tools/src/hackrf_spiflash.c index f97f2875..ba2c224e 100644 --- a/host/hackrf-tools/src/hackrf_spiflash.c +++ b/host/hackrf-tools/src/hackrf_spiflash.c @@ -36,7 +36,11 @@ typedef int bool; #endif #ifdef _MSC_VER -typedef int ssize_t; +#ifdef _WIN64 +typedef int64_t ssize_t; +#else +typedef int32_t ssize_t; +#endif #endif /* 8 Mbit flash */ diff --git a/host/hackrf-tools/src/hackrf_transfer.c b/host/hackrf-tools/src/hackrf_transfer.c index 2f505dc6..0f2923a3 100644 --- a/host/hackrf-tools/src/hackrf_transfer.c +++ b/host/hackrf-tools/src/hackrf_transfer.c @@ -43,7 +43,13 @@ typedef int bool; #include #ifdef _MSC_VER -typedef int ssize_t; + +#ifdef _WIN64 +typedef int64_t ssize_t; +#else +typedef int32_t ssize_t; +#endif + #define strtoull _strtoui64 #define snprintf _snprintf @@ -216,7 +222,7 @@ int parse_u32(char* s, uint32_t* const value) { s_end = s; ulong_value = strtoul(s, &s_end, base); if( (s != s_end) && (*s_end == 0) ) { - *value = ulong_value; + *value = (uint32_t)ulong_value; return HACKRF_SUCCESS; } else { return HACKRF_ERROR_INVALID_PARAM; @@ -261,7 +267,7 @@ int rx_callback(hackrf_transfer* transfer) { bytes_to_write = transfer->valid_length; if (limit_num_samples) { if (bytes_to_write >= bytes_to_xfer) { - bytes_to_write = bytes_to_xfer; + bytes_to_write = (int)bytes_to_xfer; } bytes_to_xfer -= bytes_to_write; } @@ -293,7 +299,7 @@ int tx_callback(hackrf_transfer* transfer) { * In this condition, we probably tx some of the previous * buffer contents at the end. :-( */ - bytes_to_read = bytes_to_xfer; + bytes_to_read = (int)bytes_to_xfer; } bytes_to_xfer -= bytes_to_read; } diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index e1ef7dbe..4dcc9302 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -787,7 +787,8 @@ int ADDCALL hackrf_set_sample_rate(hackrf_device* device, const double freq) union { uint64_t u64; double d; - } v = { .d = freq }; + } v; + v.d = freq; e = (v.u64 >> 52) - 1023;