change TCP port datatype from int to uint16_t
because int doesn't match the range add range check in every TCP binary
This commit is contained in:
parent
b0dff87093
commit
4d85dad403
@ -55,7 +55,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle = NULL;
|
||||
|
||||
char *device, *addr_str, *xml_result;
|
||||
int address, baudrate = 9600;
|
||||
int address;
|
||||
long baudrate = 9600;
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
@ -73,13 +74,13 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
addr_str = argv[4];
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
addr_str = argv[5];
|
||||
debug = 1;
|
||||
|
@ -26,7 +26,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle = NULL;
|
||||
|
||||
char *device, *addr_str, *xml_result;
|
||||
int address, baudrate = 9600;
|
||||
int address;
|
||||
long baudrate = 9600;
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
@ -44,13 +45,13 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
addr_str = argv[4];
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
addr_str = argv[5];
|
||||
debug = 1;
|
||||
|
@ -52,7 +52,7 @@ int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char *device, *addr_mask = NULL;
|
||||
int baudrate = 9600;
|
||||
long baudrate = 9600;
|
||||
mbus_handle *handle = NULL;
|
||||
mbus_frame *frame = NULL, reply;
|
||||
|
||||
@ -82,26 +82,26 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
addr_mask = strdup("FFFFFFFFFFFFFFFF");
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
addr_mask = strdup(argv[4]);
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
addr_mask = strdup(argv[5]);
|
||||
debug = 1;
|
||||
|
@ -54,7 +54,8 @@ main(int argc, char **argv)
|
||||
{
|
||||
mbus_handle *handle;
|
||||
char *device;
|
||||
int address, baudrate = 9600, retries = 0;
|
||||
int address, retries = 0;
|
||||
long baudrate = 9600;
|
||||
int ret;
|
||||
|
||||
if (argc == 2)
|
||||
@ -68,7 +69,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-r") == 0)
|
||||
@ -79,7 +80,7 @@ main(int argc, char **argv)
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
device = argv[4];
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-r") == 0)
|
||||
@ -90,14 +91,14 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-b") == 0 && strcmp(argv[3], "-r") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
retries = atoi(argv[4]);
|
||||
device = argv[5];
|
||||
}
|
||||
else if (argc == 7 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-b") == 0 && strcmp(argv[4], "-r") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
baudrate = atoi(argv[3]);
|
||||
baudrate = atol(argv[3]);
|
||||
retries = atoi(argv[5]);
|
||||
device = argv[6];
|
||||
}
|
||||
|
@ -23,7 +23,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle;
|
||||
mbus_frame reply;
|
||||
char *device, *addr = NULL;
|
||||
int ret, baudrate = 9600;
|
||||
int ret;
|
||||
long baudrate = 9600;
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
@ -32,7 +33,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
baudrate = atoi(argv[2]);
|
||||
baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
addr = strdup(argv[4]);
|
||||
}
|
||||
|
@ -27,20 +27,20 @@ main(int argc, char **argv)
|
||||
mbus_frame reply;
|
||||
char *device;
|
||||
int address, ret;
|
||||
int source_baudrate = 9600, target_baudrate;
|
||||
long source_baudrate = 9600, target_baudrate;
|
||||
|
||||
if (argc == 4)
|
||||
{
|
||||
device = argv[1];
|
||||
address = atoi(argv[2]);
|
||||
target_baudrate = atoi(argv[3]);
|
||||
target_baudrate = atol(argv[3]);
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-b") == 0)
|
||||
{
|
||||
source_baudrate = atoi(argv[2]);
|
||||
source_baudrate = atol(argv[2]);
|
||||
device = argv[3];
|
||||
address = atoi(argv[4]);
|
||||
target_baudrate = atoi(argv[5]);
|
||||
target_baudrate = atol(argv[5]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -26,7 +26,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle = NULL;
|
||||
|
||||
char *host, *addr_str, matching_addr[16], *file = NULL;
|
||||
int port, address, result;
|
||||
long port;
|
||||
int address, result;
|
||||
FILE *fp = NULL;
|
||||
size_t buff_len, len;
|
||||
unsigned char raw_buff[4096], buff[4096];
|
||||
@ -37,21 +38,21 @@ main(int argc, char **argv)
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
debug = 0;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
port = atoi(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
debug = 1;
|
||||
}
|
||||
else if (argc == 5)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
file = argv[4];
|
||||
debug = 0;
|
||||
@ -59,7 +60,7 @@ main(int argc, char **argv)
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
port = atoi(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
file = argv[5];
|
||||
debug = 1;
|
||||
@ -72,6 +73,12 @@ main(int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
|
@ -26,7 +26,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle = NULL;
|
||||
|
||||
char *host, *addr_str, matching_addr[16], *xml_result;
|
||||
int port, address;
|
||||
int address;
|
||||
long port;
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
@ -34,14 +35,14 @@ main(int argc, char **argv)
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
debug = 0;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
port = atoi(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
debug = 1;
|
||||
}
|
||||
@ -52,6 +53,12 @@ main(int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
|
@ -26,7 +26,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle = NULL;
|
||||
|
||||
char *host, *addr_str, matching_addr[16], *xml_result;
|
||||
int port, address;
|
||||
int address;
|
||||
long port;
|
||||
|
||||
memset((void *)&reply, 0, sizeof(mbus_frame));
|
||||
memset((void *)&reply_data, 0, sizeof(mbus_frame_data));
|
||||
@ -34,14 +35,14 @@ main(int argc, char **argv)
|
||||
if (argc == 4)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
addr_str = argv[3];
|
||||
debug = 0;
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
host = argv[2];
|
||||
port = atoi(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
addr_str = argv[4];
|
||||
debug = 1;
|
||||
}
|
||||
@ -52,6 +53,12 @@ main(int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
|
@ -22,7 +22,7 @@ int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char *host, *addr_mask = NULL;
|
||||
int port;
|
||||
long port;
|
||||
mbus_handle *handle = NULL;
|
||||
mbus_frame *frame = NULL, reply;
|
||||
|
||||
@ -37,7 +37,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
if (argc == 4)
|
||||
{
|
||||
addr_mask = strdup(argv[3]);
|
||||
@ -52,6 +52,12 @@ main(int argc, char **argv)
|
||||
fprintf(stderr, "Failed to allocate address mask.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (mbus_is_secondary_address(addr_mask) == 0)
|
||||
{
|
||||
|
@ -54,32 +54,33 @@ main(int argc, char **argv)
|
||||
{
|
||||
mbus_handle *handle;
|
||||
char *host;
|
||||
int port, address, retries = 0;
|
||||
int address, retries = 0;
|
||||
long port;
|
||||
int ret;
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
}
|
||||
else if (argc == 4 && strcmp(argv[1], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
host = argv[2];
|
||||
port = atoi(argv[3]);
|
||||
port = atol(argv[3]);
|
||||
}
|
||||
else if (argc == 5 && strcmp(argv[1], "-r") == 0)
|
||||
{
|
||||
retries = atoi(argv[2]);
|
||||
host = argv[3];
|
||||
port = atoi(argv[4]);
|
||||
port = atol(argv[4]);
|
||||
}
|
||||
else if (argc == 6 && strcmp(argv[1], "-d") == 0 && strcmp(argv[2], "-r") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
retries = atoi(argv[3]);
|
||||
host = argv[4];
|
||||
port = atoi(argv[5]);
|
||||
port = atol(argv[5]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -87,6 +88,12 @@ main(int argc, char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (debug)
|
||||
{
|
||||
mbus_register_send_event(&mbus_dump_send_event);
|
||||
|
@ -23,7 +23,8 @@ main(int argc, char **argv)
|
||||
mbus_handle *handle;
|
||||
mbus_frame reply;
|
||||
char *host, *addr = NULL;
|
||||
int port, ret;
|
||||
int ret;
|
||||
long port;
|
||||
|
||||
if (argc != 4)
|
||||
{
|
||||
@ -32,7 +33,13 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
host = argv[1];
|
||||
port = atoi(argv[2]);
|
||||
port = atol(argv[2]);
|
||||
|
||||
if ((port < 0) || (port > 0xFFFF))
|
||||
{
|
||||
fprintf(stderr, "Invalid port: %ld\n", port);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((addr = strdup(argv[3])) == NULL)
|
||||
{
|
||||
|
@ -1438,7 +1438,7 @@ mbus_context_serial(const char *device)
|
||||
}
|
||||
|
||||
mbus_handle *
|
||||
mbus_context_tcp(const char *host, int port)
|
||||
mbus_context_tcp(const char *host, uint16_t port)
|
||||
{
|
||||
mbus_handle *handle;
|
||||
mbus_tcp_data *tcp_data;
|
||||
@ -1655,7 +1655,7 @@ mbus_send_select_frame(mbus_handle * handle, const char *secondary_addr_str)
|
||||
// adressed slave(s) switch to the given baudrate
|
||||
//------------------------------------------------------------------------------
|
||||
int
|
||||
mbus_send_switch_baudrate_frame(mbus_handle * handle, int address, int baudrate)
|
||||
mbus_send_switch_baudrate_frame(mbus_handle * handle, int address, long baudrate)
|
||||
{
|
||||
int retval = 0;
|
||||
int control_information = 0;
|
||||
|
@ -177,7 +177,7 @@ mbus_handle * mbus_context_serial(const char *device);
|
||||
*
|
||||
* @return Initialized "unified" handler when successful, NULL otherwise;
|
||||
*/
|
||||
mbus_handle * mbus_context_tcp(const char *host, int port);
|
||||
mbus_handle * mbus_context_tcp(const char *host, uint16_t port);
|
||||
|
||||
/**
|
||||
* Deallocate memory used by M-Bus context.
|
||||
@ -275,7 +275,7 @@ int mbus_send_application_reset_frame(mbus_handle * handle, int address, int sub
|
||||
*
|
||||
* @return Zero when successful.
|
||||
*/
|
||||
int mbus_send_switch_baudrate_frame(mbus_handle * handle, int address, int baudrate);
|
||||
int mbus_send_switch_baudrate_frame(mbus_handle * handle, int address, long baudrate);
|
||||
|
||||
/**
|
||||
* Sends request frame (REQ_UD2) to given slave using "unified" handle
|
||||
|
@ -19,6 +19,7 @@
|
||||
#define _MBUS_PROTOCOL_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -95,7 +95,7 @@ mbus_serial_connect(mbus_handle *handle)
|
||||
// Set baud rate for serial connection
|
||||
//------------------------------------------------------------------------------
|
||||
int
|
||||
mbus_serial_set_baudrate(mbus_handle *handle, int baudrate)
|
||||
mbus_serial_set_baudrate(mbus_handle *handle, long baudrate)
|
||||
{
|
||||
speed_t speed;
|
||||
mbus_serial_data *serial_data;
|
||||
|
@ -37,7 +37,7 @@ int mbus_serial_connect(mbus_handle *handle);
|
||||
int mbus_serial_disconnect(mbus_handle *handle);
|
||||
int mbus_serial_send_frame(mbus_handle *handle, mbus_frame *frame);
|
||||
int mbus_serial_recv_frame(mbus_handle *handle, mbus_frame *frame);
|
||||
int mbus_serial_set_baudrate(mbus_handle *handle, int baudrate);
|
||||
int mbus_serial_set_baudrate(mbus_handle *handle, long baudrate);
|
||||
void mbus_serial_data_free(mbus_handle *handle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -38,7 +38,7 @@ mbus_tcp_connect(mbus_handle *handle)
|
||||
struct sockaddr_in s;
|
||||
struct timeval time_out;
|
||||
mbus_tcp_data *tcp_data;
|
||||
int port;
|
||||
uint16_t port;
|
||||
|
||||
if (handle == NULL)
|
||||
return -1;
|
||||
|
@ -29,7 +29,7 @@ extern "C" {
|
||||
typedef struct _mbus_tcp_data
|
||||
{
|
||||
char *host;
|
||||
int port;
|
||||
uint16_t port;
|
||||
} mbus_tcp_data;
|
||||
|
||||
int mbus_tcp_connect(mbus_handle *handle);
|
||||
|
Loading…
x
Reference in New Issue
Block a user