Commit 7ac79f0a947e8f7eb9990c1388a6400293108579
1 parent
e48f66e0
Removed glib dependency
Showing
6 changed files
with
60 additions
and
75 deletions
TODO
| ... | ... | @@ -8,7 +8,6 @@ Cleanups |
| 8 | 8 | * split compute_response_size to reuse |
| 9 | 9 | * split modbus.c (tcp/rtu, query/response) |
| 10 | 10 | * t_id in param_msqg |
| 11 | -* drop glib dependency (not sure) | |
| 12 | 11 | * only one build_header_message function to replace build_query_packet/response_packet |
| 13 | 12 | |
| 14 | 13 | Documentation | ... | ... |
configure.ac
| ... | ... | @@ -10,14 +10,6 @@ AC_PROG_CC |
| 10 | 10 | AC_PROG_MAKE_SET |
| 11 | 11 | AC_PROG_LIBTOOL |
| 12 | 12 | |
| 13 | -# Checks for libraries. | |
| 14 | -AM_PATH_GLIB_2_0(2.0.0,,AC_MSG_ERROR(libmodbus needs GLib 2.X)) | |
| 15 | -PKG_CHECK_MODULES(GLIB, glib-2.0) | |
| 16 | -AC_SUBST(GLIB_CFLAGS) | |
| 17 | -AC_SUBST(GLIB_LIBS) | |
| 18 | -# Optional requirements to report via pkg-config (in modbus.pc) | |
| 19 | -modbus_pkgdeps="glib-2.0" | |
| 20 | - | |
| 21 | 13 | # Checks for header files. |
| 22 | 14 | AC_HEADER_STDC |
| 23 | 15 | AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h termio.h termios.h unistd.h]) | ... | ... |
modbus.pc.in
src/Makefile.am
| ... | ... | @@ -3,13 +3,10 @@ libmodbus_la_SOURCES = modbus.c modbus.h |
| 3 | 3 | |
| 4 | 4 | bin_PROGRAMS = test-modbus-master test-modbus-slave |
| 5 | 5 | test_modbus_master_SOURCES = test-modbus-master.c |
| 6 | -test_modbus_master_INCLUDES = @GLIB_CFLAGS@ | |
| 7 | -test_modbus_master_LDADD = libmodbus.la @GLIB_LIBS@ | |
| 6 | +test_modbus_master_LDADD = libmodbus.la | |
| 8 | 7 | |
| 9 | 8 | test_modbus_slave_SOURCES = test-modbus-slave.c |
| 10 | -test_modbus_slave_INCLUDES = @GLIB_CFLAGS@ | |
| 11 | -test_modbus_slave_LDADD = libmodbus.la @GLIB_LIBS@ | |
| 9 | +test_modbus_slave_LDADD = libmodbus.la | |
| 12 | 10 | |
| 13 | -INCLUDES = @GLIB_CFLAGS@ -I$(top_srcdir)/include | |
| 14 | -LDADD = @GLIB_LIBS@ | |
| 11 | +INCLUDES = -I$(top_srcdir)/include | |
| 15 | 12 | CLEANFILES = *~ | ... | ... |
src/modbus.c
| ... | ... | @@ -37,7 +37,6 @@ |
| 37 | 37 | #include <sys/time.h> |
| 38 | 38 | #include <unistd.h> |
| 39 | 39 | #include <errno.h> |
| 40 | -#include <glib.h> | |
| 41 | 40 | |
| 42 | 41 | /* TCP */ |
| 43 | 42 | #include <sys/types.h> |
| ... | ... | @@ -137,7 +136,7 @@ static void error_treat(int ret, const char *string, modbus_param_t *mb_param) |
| 137 | 136 | { |
| 138 | 137 | if (ret == -1) |
| 139 | 138 | perror(string); |
| 140 | - g_print("\n\nERROR %s\n\n", string); | |
| 139 | + printf("\n\nERROR %s\n\n", string); | |
| 141 | 140 | |
| 142 | 141 | if (mb_param->type_com == RTU) { |
| 143 | 142 | tcflush(mb_param->fd, TCIOFLUSH); |
| ... | ... | @@ -334,12 +333,10 @@ int check_crc16(modbus_param_t *mb_param, |
| 334 | 333 | if (crc_calc == crc_received) { |
| 335 | 334 | ret = 0; |
| 336 | 335 | } else { |
| 337 | - char *s_error; | |
| 338 | - s_error = g_strdup_printf( | |
| 339 | - "invalid crc received %0X - crc_calc %0X", | |
| 336 | + char s_error[64]; | |
| 337 | + sprintf(s_error, "invalid crc received %0X - crc_calc %0X", | |
| 340 | 338 | crc_received, crc_calc); |
| 341 | 339 | error_treat(0, s_error, mb_param); |
| 342 | - g_free(s_error); | |
| 343 | 340 | ret = INVALID_CRC; |
| 344 | 341 | } |
| 345 | 342 | } else { |
| ... | ... | @@ -367,11 +364,11 @@ static int modbus_send(modbus_param_t *mb_param, unsigned char *query, |
| 367 | 364 | } |
| 368 | 365 | |
| 369 | 366 | if (mb_param->debug) { |
| 370 | - g_print("\n"); | |
| 367 | + printf("\n"); | |
| 371 | 368 | for (i = 0; i < query_size; i++) |
| 372 | - g_print("[%.2X]", query[i]); | |
| 369 | + printf("[%.2X]", query[i]); | |
| 373 | 370 | |
| 374 | - g_print("\n"); | |
| 371 | + printf("\n"); | |
| 375 | 372 | } |
| 376 | 373 | |
| 377 | 374 | if (mb_param->type_com == RTU) |
| ... | ... | @@ -404,7 +401,7 @@ int compute_query_size_header(int function) |
| 404 | 401 | else |
| 405 | 402 | byte = 0; |
| 406 | 403 | |
| 407 | - g_print("compute_query_size_header FC %d, B%d\n", function, byte); | |
| 404 | + printf("compute_query_size_header FC %d, B%d\n", function, byte); | |
| 408 | 405 | |
| 409 | 406 | return byte; |
| 410 | 407 | } |
| ... | ... | @@ -422,7 +419,7 @@ int compute_query_size_data(modbus_param_t *mb_param, unsigned char *msg) |
| 422 | 419 | byte = 0; |
| 423 | 420 | |
| 424 | 421 | byte += mb_param->checksum_size; |
| 425 | - g_print("compute_query_size_data FC %d, B %d\n", function, byte); | |
| 422 | + printf("compute_query_size_data FC %d, B %d\n", function, byte); | |
| 426 | 423 | |
| 427 | 424 | return byte; |
| 428 | 425 | } |
| ... | ... | @@ -431,7 +428,7 @@ int compute_query_size_data(modbus_param_t *mb_param, unsigned char *msg) |
| 431 | 428 | { \ |
| 432 | 429 | while ((select_ret = select(mb_param->fd+1, &rfds, NULL, NULL, &tv)) == -1) { \ |
| 433 | 430 | if (errno == EINTR) { \ |
| 434 | - g_print("A non blocked signal was caught\n"); \ | |
| 431 | + printf("A non blocked signal was caught\n"); \ | |
| 435 | 432 | /* Necessary after an error */ \ |
| 436 | 433 | FD_ZERO(&rfds); \ |
| 437 | 434 | FD_SET(mb_param->fd, &rfds); \ |
| ... | ... | @@ -472,9 +469,9 @@ int receive_msg(modbus_param_t *mb_param, |
| 472 | 469 | |
| 473 | 470 | if (mb_param->debug) { |
| 474 | 471 | if (msg_size_computed == MSG_SIZE_UNDEFINED) |
| 475 | - g_print("Waiting for a message...\n"); | |
| 472 | + printf("Waiting for a message...\n"); | |
| 476 | 473 | else |
| 477 | - g_print("Waiting for a message (%d bytes)...\n", msg_size_computed); | |
| 474 | + printf("Waiting for a message (%d bytes)...\n", msg_size_computed); | |
| 478 | 475 | } |
| 479 | 476 | |
| 480 | 477 | /* Add a file descriptor to the set */ |
| ... | ... | @@ -526,7 +523,7 @@ int receive_msg(modbus_param_t *mb_param, |
| 526 | 523 | if (mb_param->debug) { |
| 527 | 524 | int i; |
| 528 | 525 | for (i=0; i < read_ret; i++) |
| 529 | - g_print("<%.2X>", p_msg[i]); | |
| 526 | + printf("<%.2X>", p_msg[i]); | |
| 530 | 527 | } |
| 531 | 528 | |
| 532 | 529 | if ((*msg_size) < msg_size_computed) { |
| ... | ... | @@ -539,20 +536,20 @@ int receive_msg(modbus_param_t *mb_param, |
| 539 | 536 | size_to_read = compute_query_size_header(msg[mb_param->header_length + 1]); |
| 540 | 537 | msg_size_computed += size_to_read; |
| 541 | 538 | state = BYTE; |
| 542 | - g_print("\nBYTE:"); | |
| 539 | + printf("\nBYTE:"); | |
| 543 | 540 | break; |
| 544 | 541 | case BYTE: |
| 545 | 542 | size_to_read = compute_query_size_data(mb_param, msg); |
| 546 | 543 | msg_size_computed += size_to_read; |
| 547 | 544 | state = COMPLETE; |
| 548 | - g_print("\nCOMPLETE:"); | |
| 545 | + printf("\nCOMPLETE:"); | |
| 549 | 546 | break; |
| 550 | 547 | case COMPLETE: |
| 551 | 548 | size_to_read = 0; |
| 552 | 549 | break; |
| 553 | 550 | } |
| 554 | 551 | } |
| 555 | - g_print(" size to read %d\n", size_to_read); | |
| 552 | + printf(" size to read %d\n", size_to_read); | |
| 556 | 553 | |
| 557 | 554 | /* Moves the pointer to receive other datas */ |
| 558 | 555 | p_msg = &(p_msg[read_ret]); |
| ... | ... | @@ -571,7 +568,7 @@ int receive_msg(modbus_param_t *mb_param, |
| 571 | 568 | } |
| 572 | 569 | |
| 573 | 570 | if (mb_param->debug) |
| 574 | - g_print("\n"); | |
| 571 | + printf("\n"); | |
| 575 | 572 | |
| 576 | 573 | /* OK */ |
| 577 | 574 | return 0; |
| ... | ... | @@ -652,12 +649,10 @@ static int modbus_check_response(modbus_param_t *mb_param, |
| 652 | 649 | /* The chances are low to hit this |
| 653 | 650 | case but can avoid a vicious |
| 654 | 651 | segfault */ |
| 655 | - char *s_error; | |
| 656 | - s_error = g_strdup_printf( | |
| 657 | - "Invalid exception code %d", | |
| 658 | - response[offset + 2]); | |
| 652 | + char s_error[64]; | |
| 653 | + sprintf(s_error, "Invalid exception code %d", response[offset + 2]); | |
| 659 | 654 | error_treat(0, s_error, mb_param); |
| 660 | - g_free(s_error); | |
| 655 | + free(s_error); | |
| 661 | 656 | return INVALID_EXCEPTION_CODE; |
| 662 | 657 | } |
| 663 | 658 | } |
| ... | ... | @@ -735,12 +730,12 @@ void manage_query(modbus_param_t *mb_param, unsigned char *query, |
| 735 | 730 | count = (query[offset+4] << 8) + query[offset+5]; |
| 736 | 731 | byte_count = 2 * count; |
| 737 | 732 | offset = build_response_packet(mb_param, slave, function, byte_count, response); |
| 738 | - g_print("offset %d\n", offset); | |
| 733 | + printf("offset %d\n", offset); | |
| 739 | 734 | for (i = address; i < address + count; i++) { |
| 740 | 735 | response[offset++] = mb_mapping->tab_holding_registers[i] >> 8; |
| 741 | 736 | response[offset++] = mb_mapping->tab_holding_registers[i] & 0xFF; |
| 742 | 737 | } |
| 743 | - g_print("fin offset %d\n", offset); | |
| 738 | + printf("fin offset %d\n", offset); | |
| 744 | 739 | break; |
| 745 | 740 | case FC_READ_INPUT_REGISTERS: |
| 746 | 741 | count = (query[offset+4] << 8) + query[offset+5]; |
| ... | ... | @@ -758,8 +753,8 @@ void manage_query(modbus_param_t *mb_param, unsigned char *query, |
| 758 | 753 | else if (data == 0x0) |
| 759 | 754 | mb_mapping->tab_coil_status[address] = OFF; |
| 760 | 755 | else |
| 761 | - g_print("FIXME Error %d\n", data); | |
| 762 | - g_print("FIXME works only in TCP mode (CRC)"); | |
| 756 | + printf("FIXME Error %d\n", data); | |
| 757 | + printf("FIXME works only in TCP mode (CRC)"); | |
| 763 | 758 | memcpy(response, query, query_size); |
| 764 | 759 | offset = query_size; |
| 765 | 760 | break; |
| ... | ... | @@ -768,7 +763,7 @@ void manage_query(modbus_param_t *mb_param, unsigned char *query, |
| 768 | 763 | case FC_FORCE_MULTIPLE_COILS: |
| 769 | 764 | case FC_PRESET_MULTIPLE_REGISTERS: |
| 770 | 765 | case FC_REPORT_SLAVE_ID: |
| 771 | - g_print("Not implemented\n"); | |
| 766 | + printf("Not implemented\n"); | |
| 772 | 767 | break; |
| 773 | 768 | } |
| 774 | 769 | |
| ... | ... | @@ -897,7 +892,7 @@ int read_holding_registers(modbus_param_t *mb_param, int slave, |
| 897 | 892 | int status; |
| 898 | 893 | |
| 899 | 894 | if (count > MAX_READ_HOLD_REGS) { |
| 900 | - g_print("WARNING Too many holding registers requested\n"); | |
| 895 | + printf("WARNING Too many holding registers requested\n"); | |
| 901 | 896 | count = MAX_READ_HOLD_REGS; |
| 902 | 897 | } |
| 903 | 898 | |
| ... | ... | @@ -914,7 +909,7 @@ int read_input_registers(modbus_param_t *mb_param, int slave, |
| 914 | 909 | int status; |
| 915 | 910 | |
| 916 | 911 | if (count > MAX_READ_INPUT_REGS) { |
| 917 | - g_print("WARNING Too many input registers requested\n"); | |
| 912 | + printf("WARNING Too many input registers requested\n"); | |
| 918 | 913 | count = MAX_READ_INPUT_REGS; |
| 919 | 914 | } |
| 920 | 915 | |
| ... | ... | @@ -1023,7 +1018,7 @@ int force_multiple_coils(modbus_param_t *mb_param, int slave, |
| 1023 | 1018 | unsigned char query[MAX_PACKET_SIZE]; |
| 1024 | 1019 | |
| 1025 | 1020 | if (coil_count > MAX_WRITE_COILS) { |
| 1026 | - g_print("WARNING Writing to too many coils\n"); | |
| 1021 | + printf("WARNING Writing to too many coils\n"); | |
| 1027 | 1022 | coil_count = MAX_WRITE_COILS; |
| 1028 | 1023 | } |
| 1029 | 1024 | |
| ... | ... | @@ -1071,7 +1066,7 @@ int preset_multiple_registers(modbus_param_t *mb_param, int slave, |
| 1071 | 1066 | unsigned char query[MAX_PACKET_SIZE]; |
| 1072 | 1067 | |
| 1073 | 1068 | if (reg_count > MAX_WRITE_REGS) { |
| 1074 | - g_print("WARNING Trying to write to too many registers\n"); | |
| 1069 | + printf("WARNING Trying to write to too many registers\n"); | |
| 1075 | 1070 | reg_count = MAX_WRITE_REGS; |
| 1076 | 1071 | } |
| 1077 | 1072 | |
| ... | ... | @@ -1177,7 +1172,7 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1177 | 1172 | speed_t baud_rate; |
| 1178 | 1173 | |
| 1179 | 1174 | if (mb_param->debug) { |
| 1180 | - g_print("Opening %s at %d bauds (%s)\n", | |
| 1175 | + printf("Opening %s at %d bauds (%s)\n", | |
| 1181 | 1176 | mb_param->device, mb_param->baud_i, mb_param->parity); |
| 1182 | 1177 | } |
| 1183 | 1178 | |
| ... | ... | @@ -1191,7 +1186,7 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1191 | 1186 | mb_param->fd = open(mb_param->device, O_RDWR | O_NOCTTY | O_NDELAY); |
| 1192 | 1187 | if (mb_param->fd < 0) { |
| 1193 | 1188 | perror("open"); |
| 1194 | - g_print("ERROR Opening device %s (no : %d)\n", | |
| 1189 | + printf("ERROR Opening device %s (no : %d)\n", | |
| 1195 | 1190 | mb_param->device, errno); |
| 1196 | 1191 | return -1; |
| 1197 | 1192 | } |
| ... | ... | @@ -1240,7 +1235,7 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1240 | 1235 | break; |
| 1241 | 1236 | default: |
| 1242 | 1237 | baud_rate = B9600; |
| 1243 | - g_print("WARNING Unknown baud rate %d for %s (B9600 used)\n", | |
| 1238 | + printf("WARNING Unknown baud rate %d for %s (B9600 used)\n", | |
| 1244 | 1239 | mb_param->baud_i, mb_param->device); |
| 1245 | 1240 | } |
| 1246 | 1241 | |
| ... | ... | @@ -1460,7 +1455,7 @@ static int modbus_connect_tcp(modbus_param_t *mb_param) |
| 1460 | 1455 | } |
| 1461 | 1456 | |
| 1462 | 1457 | if (mb_param->debug) { |
| 1463 | - g_print("Connecting to %s\n", mb_param->ip); | |
| 1458 | + printf("Connecting to %s\n", mb_param->ip); | |
| 1464 | 1459 | } |
| 1465 | 1460 | |
| 1466 | 1461 | ret = connect(mb_param->fd, (struct sockaddr *)&addr, |
| ... | ... | @@ -1499,34 +1494,38 @@ int modbus_mapping_new(modbus_mapping_t *mb_mapping, |
| 1499 | 1494 | { |
| 1500 | 1495 | /* 0X */ |
| 1501 | 1496 | mb_mapping->nb_coil_status = nb_coil_status; |
| 1502 | - mb_mapping->tab_coil_status = (unsigned char *) g_malloc0(nb_coil_status * sizeof(unsigned char)); | |
| 1497 | + mb_mapping->tab_coil_status = (unsigned char *) malloc(nb_coil_status * sizeof(unsigned char)); | |
| 1498 | + memset(mb_mapping->tab_coil_status, 0, nb_coil_status * sizeof(unsigned char)); | |
| 1503 | 1499 | if (mb_mapping->tab_coil_status == NULL) |
| 1504 | 1500 | return FALSE; |
| 1505 | 1501 | |
| 1506 | 1502 | /* 1X */ |
| 1507 | 1503 | mb_mapping->nb_input_status = nb_input_status; |
| 1508 | - mb_mapping->tab_input_status = (unsigned char *) g_malloc0(nb_input_status * sizeof(unsigned char)); | |
| 1504 | + mb_mapping->tab_input_status = (unsigned char *) malloc(nb_input_status * sizeof(unsigned char)); | |
| 1505 | + memset(mb_mapping->tab_input_status, 0, nb_input_status * sizeof(unsigned char)); | |
| 1509 | 1506 | if (mb_mapping->tab_input_status == NULL) { |
| 1510 | - g_free(mb_mapping->tab_coil_status); | |
| 1507 | + free(mb_mapping->tab_coil_status); | |
| 1511 | 1508 | return FALSE; |
| 1512 | 1509 | } |
| 1513 | 1510 | |
| 1514 | 1511 | /* 3X */ |
| 1515 | 1512 | mb_mapping->nb_input_registers = nb_input_registers; |
| 1516 | - mb_mapping->tab_input_registers = (unsigned short *) g_malloc0(nb_input_registers * sizeof(unsigned short)); | |
| 1513 | + mb_mapping->tab_input_registers = (unsigned short *) malloc(nb_input_registers * sizeof(unsigned short)); | |
| 1514 | + memset(mb_mapping->tab_input_registers, 0, nb_input_registers * sizeof(unsigned short)); | |
| 1517 | 1515 | if (mb_mapping->tab_input_registers == NULL) { |
| 1518 | - g_free(mb_mapping->tab_coil_status); | |
| 1519 | - g_free(mb_mapping->tab_input_status); | |
| 1516 | + free(mb_mapping->tab_coil_status); | |
| 1517 | + free(mb_mapping->tab_input_status); | |
| 1520 | 1518 | return FALSE; |
| 1521 | 1519 | } |
| 1522 | 1520 | |
| 1523 | 1521 | /* 4X */ |
| 1524 | 1522 | mb_mapping->nb_holding_registers = nb_holding_registers; |
| 1525 | - mb_mapping->tab_holding_registers = (unsigned short *) g_malloc0(nb_holding_registers * sizeof(unsigned short)); | |
| 1523 | + mb_mapping->tab_holding_registers = (unsigned short *) malloc(nb_holding_registers * sizeof(unsigned short)); | |
| 1524 | + memset(mb_mapping->tab_holding_registers, 0, nb_holding_registers * sizeof(unsigned short)); | |
| 1526 | 1525 | if (mb_mapping->tab_holding_registers == NULL) { |
| 1527 | - g_free(mb_mapping->tab_coil_status); | |
| 1528 | - g_free(mb_mapping->tab_input_status); | |
| 1529 | - g_free(mb_mapping->tab_input_registers); | |
| 1526 | + free(mb_mapping->tab_coil_status); | |
| 1527 | + free(mb_mapping->tab_input_status); | |
| 1528 | + free(mb_mapping->tab_input_registers); | |
| 1530 | 1529 | return FALSE; |
| 1531 | 1530 | } |
| 1532 | 1531 | |
| ... | ... | @@ -1536,10 +1535,10 @@ int modbus_mapping_new(modbus_mapping_t *mb_mapping, |
| 1536 | 1535 | /* Frees the 4 arrays */ |
| 1537 | 1536 | void modbus_mapping_free(modbus_mapping_t *mb_mapping) |
| 1538 | 1537 | { |
| 1539 | - g_free(mb_mapping->tab_coil_status); | |
| 1540 | - g_free(mb_mapping->tab_input_status); | |
| 1541 | - g_free(mb_mapping->tab_input_registers); | |
| 1542 | - g_free(mb_mapping->tab_holding_registers); | |
| 1538 | + free(mb_mapping->tab_coil_status); | |
| 1539 | + free(mb_mapping->tab_input_status); | |
| 1540 | + free(mb_mapping->tab_input_registers); | |
| 1541 | + free(mb_mapping->tab_holding_registers); | |
| 1543 | 1542 | } |
| 1544 | 1543 | |
| 1545 | 1544 | /* Listens for any query from a modbus master */ |
| ... | ... | @@ -1561,7 +1560,7 @@ int modbus_init_listen_tcp(modbus_param_t *mb_param) |
| 1561 | 1560 | perror("socket"); |
| 1562 | 1561 | exit(1); |
| 1563 | 1562 | } else { |
| 1564 | - g_print("Socket OK\n"); | |
| 1563 | + printf("Socket OK\n"); | |
| 1565 | 1564 | } |
| 1566 | 1565 | |
| 1567 | 1566 | ret = bind(new_socket, (struct sockaddr *)&addr, |
| ... | ... | @@ -1571,7 +1570,7 @@ int modbus_init_listen_tcp(modbus_param_t *mb_param) |
| 1571 | 1570 | close(new_socket); |
| 1572 | 1571 | exit(1); |
| 1573 | 1572 | } else { |
| 1574 | - g_print("Bind OK\n"); | |
| 1573 | + printf("Bind OK\n"); | |
| 1575 | 1574 | } |
| 1576 | 1575 | |
| 1577 | 1576 | ret = listen(new_socket, 1); |
| ... | ... | @@ -1580,7 +1579,7 @@ int modbus_init_listen_tcp(modbus_param_t *mb_param) |
| 1580 | 1579 | close(new_socket); |
| 1581 | 1580 | exit(1); |
| 1582 | 1581 | } else { |
| 1583 | - g_print("Listen OK\n"); | |
| 1582 | + printf("Listen OK\n"); | |
| 1584 | 1583 | } |
| 1585 | 1584 | |
| 1586 | 1585 | addrlen = sizeof(struct sockaddr_in); |
| ... | ... | @@ -1591,8 +1590,8 @@ int modbus_init_listen_tcp(modbus_param_t *mb_param) |
| 1591 | 1590 | new_socket = 0; |
| 1592 | 1591 | exit(1); |
| 1593 | 1592 | } else { |
| 1594 | - g_print("The client %s is connected\n", | |
| 1595 | - inet_ntoa(addr.sin_addr)); | |
| 1593 | + printf("The client %s is connected\n", | |
| 1594 | + inet_ntoa(addr.sin_addr)); | |
| 1596 | 1595 | } |
| 1597 | 1596 | |
| 1598 | 1597 | return new_socket; | ... | ... |
wscript
| ... | ... | @@ -17,7 +17,6 @@ def set_options(opt): |
| 17 | 17 | |
| 18 | 18 | def configure(conf): |
| 19 | 19 | conf.check_tool('compiler_cc') |
| 20 | - conf.check_pkg('glib-2.0', destvar='GLIB', mandatory=True) | |
| 21 | 20 | conf.check_tool('misc') |
| 22 | 21 | |
| 23 | 22 | headers = 'arpa/inet.h fcntl.h netinet/in.h stdlib.h \ |
| ... | ... | @@ -62,8 +61,7 @@ def build(bld): |
| 62 | 61 | 'prefix': bld.env()['PREFIX'], |
| 63 | 62 | 'exec_prefix': bld.env()['PREFIX'], |
| 64 | 63 | 'libdir': bld.env()['PREFIX'] + '/lib', |
| 65 | - 'includedir': bld.env()['PREFIX'] + '/include', | |
| 66 | - 'modbus_pkgdeps' : 'glib-2.0'} | |
| 64 | + 'includedir': bld.env()['PREFIX'] + '/include'} | |
| 67 | 65 | |
| 68 | 66 | def shutdown(): |
| 69 | 67 | import UnitTest | ... | ... |