From b43d1b4d274b4f2dd9355f9880ef9a028fca4b82 Mon Sep 17 00:00:00 2001 From: Alexander GQ Gerasiov Date: Sat, 11 Apr 2020 14:19:51 +0300 Subject: [PATCH] cansend.c: Reformat help/usage output to be compatible with help2man. Gbp-Pq: Name 0010-cansend.c-Reformat-help-usage-output-to-be-compatibl.patch --- cansend.c | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/cansend.c b/cansend.c index 8db9fd2..283c6bd 100644 --- a/cansend.c +++ b/cansend.c @@ -56,6 +56,29 @@ #include "lib.h" +void print_usage(char *prg) +{ + fprintf(stderr, "Usage: %s - simple command line tool to send CAN-frames via CAN_RAW sockets.\n", prg); + fprintf(stderr, "Usage: %s .\n", prg); + fprintf(stderr, ":\n"); + fprintf(stderr, " #{data} for 'classic' CAN 2.0 data frames\n"); + fprintf(stderr, " #R{len} for 'classic' CAN 2.0 data frames\n"); + fprintf(stderr, " ##{data} for CAN FD frames\n\n"); + fprintf(stderr, ":\n" + " 3 (SFF) or 8 (EFF) hex chars\n"); + fprintf(stderr, "{data}:\n" + " 0..8 (0..64 CAN FD) ASCII hex-values (optionally separated by '.')\n"); + fprintf(stderr, "{len}:\n" + " an optional 0..8 value as RTR frames can contain a valid dlc field\n"); + fprintf(stderr, ":\n" + " a single ASCII Hex value (0 .. F) which defines canfd_frame.flags\n\n"); + fprintf(stderr, "Examples:\n"); + fprintf(stderr, " 5A1#11.2233.44556677.88 / 123#DEADBEEF / 5AA# / 123##1 / 213##311223344 /\n" + " 1F334455#1122334455667788 / 123#R / 00000123#R3\n\n"); +} + + + int main(int argc, char **argv) { int s; /* can raw socket */ @@ -68,27 +91,15 @@ int main(int argc, char **argv) /* check command line options */ if (argc != 3) { - fprintf(stderr, "Usage: %s .\n", argv[0]); + print_usage(argv[0]); return 1; } /* parse CAN frame */ required_mtu = parse_canframe(argv[2], &frame); if (!required_mtu){ - fprintf(stderr, "\nWrong CAN-frame format! Try:\n\n"); - fprintf(stderr, " #{data} for 'classic' CAN 2.0 data frames\n"); - fprintf(stderr, " #R{len} for 'classic' CAN 2.0 RTR frames\n"); - fprintf(stderr, " ##{data} for CAN FD frames\n\n"); - fprintf(stderr, " can have 3 (SFF) or 8 (EFF) hex chars\n"); - fprintf(stderr, "{data} has 0..8 (0..64 CAN FD) ASCII hex-values (optionally"); - fprintf(stderr, " separated by '.')\n"); - fprintf(stderr, "{len} is an optional 0..8 value as RTR frames can contain a"); - fprintf(stderr, " valid dlc field\n"); - fprintf(stderr, " a single ASCII Hex value (0 .. F) which defines"); - fprintf(stderr, " canfd_frame.flags\n\n"); - fprintf(stderr, "e.g. 5A1#11.2233.44556677.88 / 123#DEADBEEF / 5AA# / "); - fprintf(stderr, "123##1 / 213##311223344\n 1F334455#1122334455667788 / "); - fprintf(stderr, "123#R / 00000123#R3\n\n"); + fprintf(stderr, "\nWrong CAN-frame format!\n\n"); + print_usage(argv[0]); return 1; }