Commit 5ec104ae31f7743abcfcefa09662e435e4a11bc7
1 parent
a72d756c
Write real errors to stderr
Showing
8 changed files
with
37 additions
and
33 deletions
modbus/modbus.c
| ... | ... | @@ -172,7 +172,7 @@ static const int TAB_MAX_ADU_LENGTH[2] = { |
| 172 | 172 | /* Treats errors and flush or close connection if necessary */ |
| 173 | 173 | static void error_treat(modbus_param_t *mb_param, int code, const char *string) |
| 174 | 174 | { |
| 175 | - printf("\nERROR %s (%0X)\n", string, -code); | |
| 175 | + fprintf(stderr, "\nERROR %s (%0X)\n", string, -code); | |
| 176 | 176 | |
| 177 | 177 | if (mb_param->error_handling == FLUSH_OR_CONNECT_ON_ERROR) { |
| 178 | 178 | switch (code) { |
| ... | ... | @@ -508,7 +508,7 @@ static int compute_query_length_data(modbus_param_t *mb_param, uint8_t *msg) |
| 508 | 508 | { \ |
| 509 | 509 | while ((select_ret = select(mb_param->fd+1, &rfds, NULL, NULL, &tv)) == -1) { \ |
| 510 | 510 | if (errno == EINTR) { \ |
| 511 | - printf("A non blocked signal was caught\n"); \ | |
| 511 | + fprintf(stderr, "A non blocked signal was caught\n"); \ | |
| 512 | 512 | /* Necessary after an error */ \ |
| 513 | 513 | FD_ZERO(&rfds); \ |
| 514 | 514 | FD_SET(mb_param->fd, &rfds); \ |
| ... | ... | @@ -1102,8 +1102,9 @@ int read_coil_status(modbus_param_t *mb_param, int start_addr, |
| 1102 | 1102 | int status; |
| 1103 | 1103 | |
| 1104 | 1104 | if (nb > MAX_STATUS) { |
| 1105 | - printf("ERROR Too many coils status requested (%d > %d)\n", | |
| 1106 | - nb, MAX_STATUS); | |
| 1105 | + fprintf(stderr, | |
| 1106 | + "ERROR Too many coils status requested (%d > %d)\n", | |
| 1107 | + nb, MAX_STATUS); | |
| 1107 | 1108 | return INVALID_DATA; |
| 1108 | 1109 | } |
| 1109 | 1110 | |
| ... | ... | @@ -1124,7 +1125,8 @@ int read_input_status(modbus_param_t *mb_param, int start_addr, |
| 1124 | 1125 | int status; |
| 1125 | 1126 | |
| 1126 | 1127 | if (nb > MAX_STATUS) { |
| 1127 | - printf("ERROR Too many input status requested (%d > %d)\n", | |
| 1128 | + fprintf(stderr, | |
| 1129 | + "ERROR Too many input status requested (%d > %d)\n", | |
| 1128 | 1130 | nb, MAX_STATUS); |
| 1129 | 1131 | return INVALID_DATA; |
| 1130 | 1132 | } |
| ... | ... | @@ -1148,8 +1150,9 @@ static int read_registers(modbus_param_t *mb_param, int function, |
| 1148 | 1150 | uint8_t response[MAX_MESSAGE_LENGTH]; |
| 1149 | 1151 | |
| 1150 | 1152 | if (nb > MAX_REGISTERS) { |
| 1151 | - printf("ERROR Too many holding registers requested (%d > %d)\n", | |
| 1152 | - nb, MAX_REGISTERS); | |
| 1153 | + fprintf(stderr, | |
| 1154 | + "ERROR Too many holding registers requested (%d > %d)\n", | |
| 1155 | + nb, MAX_REGISTERS); | |
| 1153 | 1156 | return INVALID_DATA; |
| 1154 | 1157 | } |
| 1155 | 1158 | |
| ... | ... | @@ -1184,8 +1187,9 @@ int read_holding_registers(modbus_param_t *mb_param, |
| 1184 | 1187 | int status; |
| 1185 | 1188 | |
| 1186 | 1189 | if (nb > MAX_REGISTERS) { |
| 1187 | - printf("ERROR Too many holding registers requested (%d > %d)\n", | |
| 1188 | - nb, MAX_REGISTERS); | |
| 1190 | + fprintf(stderr, | |
| 1191 | + "ERROR Too many holding registers requested (%d > %d)\n", | |
| 1192 | + nb, MAX_REGISTERS); | |
| 1189 | 1193 | return INVALID_DATA; |
| 1190 | 1194 | } |
| 1191 | 1195 | |
| ... | ... | @@ -1202,8 +1206,9 @@ int read_input_registers(modbus_param_t *mb_param, int start_addr, int nb, |
| 1202 | 1206 | int status; |
| 1203 | 1207 | |
| 1204 | 1208 | if (nb > MAX_REGISTERS) { |
| 1205 | - printf("ERROR Too many input registers requested (%d > %d)\n", | |
| 1206 | - nb, MAX_REGISTERS); | |
| 1209 | + fprintf(stderr, | |
| 1210 | + "ERROR Too many input registers requested (%d > %d)\n", | |
| 1211 | + nb, MAX_REGISTERS); | |
| 1207 | 1212 | return INVALID_DATA; |
| 1208 | 1213 | } |
| 1209 | 1214 | |
| ... | ... | @@ -1275,8 +1280,8 @@ int force_multiple_coils(modbus_param_t *mb_param, int start_addr, int nb, |
| 1275 | 1280 | uint8_t query[MAX_MESSAGE_LENGTH]; |
| 1276 | 1281 | |
| 1277 | 1282 | if (nb > MAX_STATUS) { |
| 1278 | - printf("ERROR Writing to too many coils (%d > %d)\n", | |
| 1279 | - nb, MAX_STATUS); | |
| 1283 | + fprintf(stderr, "ERROR Writing to too many coils (%d > %d)\n", | |
| 1284 | + nb, MAX_STATUS); | |
| 1280 | 1285 | return INVALID_DATA; |
| 1281 | 1286 | } |
| 1282 | 1287 | |
| ... | ... | @@ -1324,8 +1329,9 @@ int preset_multiple_registers(modbus_param_t *mb_param, int start_addr, int nb, |
| 1324 | 1329 | uint8_t query[MAX_MESSAGE_LENGTH]; |
| 1325 | 1330 | |
| 1326 | 1331 | if (nb > MAX_REGISTERS) { |
| 1327 | - printf("ERROR Trying to write to too many registers (%d > %d)\n", | |
| 1328 | - nb, MAX_REGISTERS); | |
| 1332 | + fprintf(stderr, | |
| 1333 | + "ERROR Trying to write to too many registers (%d > %d)\n", | |
| 1334 | + nb, MAX_REGISTERS); | |
| 1329 | 1335 | return INVALID_DATA; |
| 1330 | 1336 | } |
| 1331 | 1337 | |
| ... | ... | @@ -1448,7 +1454,8 @@ void modbus_set_error_handling(modbus_param_t *mb_param, |
| 1448 | 1454 | error_handling == NOP_ON_ERROR) { |
| 1449 | 1455 | mb_param->error_handling = error_handling; |
| 1450 | 1456 | } else { |
| 1451 | - printf("Invalid setting for error handling (not changed)\n"); | |
| 1457 | + fprintf(stderr, | |
| 1458 | + "Invalid setting for error handling (not changed)\n"); | |
| 1452 | 1459 | } |
| 1453 | 1460 | } |
| 1454 | 1461 | |
| ... | ... | @@ -1460,8 +1467,8 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1460 | 1467 | speed_t speed; |
| 1461 | 1468 | |
| 1462 | 1469 | if (mb_param->debug) { |
| 1463 | - printf("Opening %s at %d bauds (%s)\n", | |
| 1464 | - mb_param->device, mb_param->baud, mb_param->parity); | |
| 1470 | + fprintf(stderr, "Opening %s at %d bauds (%s)\n", | |
| 1471 | + mb_param->device, mb_param->baud, mb_param->parity); | |
| 1465 | 1472 | } |
| 1466 | 1473 | |
| 1467 | 1474 | /* The O_NOCTTY flag tells UNIX that this program doesn't want |
| ... | ... | @@ -1473,9 +1480,8 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1473 | 1480 | NDELAY option is set on the file via open or fcntl */ |
| 1474 | 1481 | mb_param->fd = open(mb_param->device, O_RDWR | O_NOCTTY | O_NDELAY | O_EXCL); |
| 1475 | 1482 | if (mb_param->fd < 0) { |
| 1476 | - perror("open"); | |
| 1477 | - printf("ERROR Can't open the device %s (%s)\n", | |
| 1478 | - mb_param->device, strerror(errno)); | |
| 1483 | + fprintf(stderr, "ERROR Can't open the device %s (%s)\n", | |
| 1484 | + mb_param->device, strerror(errno)); | |
| 1479 | 1485 | return -1; |
| 1480 | 1486 | } |
| 1481 | 1487 | |
| ... | ... | @@ -1523,8 +1529,9 @@ static int modbus_connect_rtu(modbus_param_t *mb_param) |
| 1523 | 1529 | break; |
| 1524 | 1530 | default: |
| 1525 | 1531 | speed = B9600; |
| 1526 | - printf("WARNING Unknown baud rate %d for %s (B9600 used)\n", | |
| 1527 | - mb_param->baud, mb_param->device); | |
| 1532 | + fprintf(stderr, | |
| 1533 | + "WARNING Unknown baud rate %d for %s (B9600 used)\n", | |
| 1534 | + mb_param->baud, mb_param->device); | |
| 1528 | 1535 | } |
| 1529 | 1536 | |
| 1530 | 1537 | /* Set the baud rate */ |
| ... | ... | @@ -1979,7 +1986,7 @@ uint8_t get_byte_from_bits(const uint8_t *src, int address, int nb_bits) |
| 1979 | 1986 | uint8_t value = 0; |
| 1980 | 1987 | |
| 1981 | 1988 | if (nb_bits > 8) { |
| 1982 | - printf("Error: nb_bits is too big\n"); | |
| 1989 | + fprintf(stderr, "ERROR nb_bits is too big\n"); | |
| 1983 | 1990 | nb_bits = 8; |
| 1984 | 1991 | } |
| 1985 | 1992 | ... | ... |
tests/bandwidth-master.c
tests/bandwidth-slave-many-up.c
tests/bandwidth-slave-one.c
| ... | ... | @@ -35,7 +35,7 @@ int main(void) |
| 35 | 35 | |
| 36 | 36 | ret = modbus_mapping_new(&mb_mapping, MAX_STATUS, 0, MAX_REGISTERS, 0); |
| 37 | 37 | if (ret < 0) { |
| 38 | - printf("Memory allocation failed\n"); | |
| 38 | + fprintf(stderr, "Memory allocation failed\n"); | |
| 39 | 39 | exit(1); |
| 40 | 40 | } |
| 41 | 41 | |
| ... | ... | @@ -52,7 +52,7 @@ int main(void) |
| 52 | 52 | /* Connection closed by the client, end of server */ |
| 53 | 53 | break; |
| 54 | 54 | } else { |
| 55 | - printf("Error in modbus_listen (%d)\n", ret); | |
| 55 | + fprintf(stderr, "Error in modbus_listen (%d)\n", ret); | |
| 56 | 56 | } |
| 57 | 57 | } |
| 58 | 58 | ... | ... |
tests/random-test-master.c
tests/random-test-slave.c
| ... | ... | @@ -35,7 +35,7 @@ int main(void) |
| 35 | 35 | |
| 36 | 36 | ret = modbus_mapping_new(&mb_mapping, 500, 500, 500, 500); |
| 37 | 37 | if (ret < 0) { |
| 38 | - printf("Memory allocation failed\n"); | |
| 38 | + fprintf(stderr, "Memory allocation failed\n"); | |
| 39 | 39 | exit(1); |
| 40 | 40 | } |
| 41 | 41 | |
| ... | ... | @@ -54,7 +54,7 @@ int main(void) |
| 54 | 54 | /* Connection closed by the client, end of server */ |
| 55 | 55 | break; |
| 56 | 56 | } else { |
| 57 | - printf("Error in modbus_listen (%d)\n", ret); | |
| 57 | + fprintf(stderr, "Error in modbus_listen (%d)\n", ret); | |
| 58 | 58 | } |
| 59 | 59 | } |
| 60 | 60 | ... | ... |
tests/unit-test-master.c
tests/unit-test-slave.c