From: Joshua Clayton <stillcompiling@gmail.com>
To: Mark Brown <broonie@kernel.org>, linux-spi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
Anton Bondarenko <anton.bondarenko.sama@gmail.com>,
Joshua Clayton <stillcompiling@gmail.com>
Subject: [PATCH v2 2/6] spi: spidev_test: transfer_escaped_string function
Date: Wed, 18 Nov 2015 14:30:38 -0800 [thread overview]
Message-ID: <b0719c2739aabcd9894e85d82cbae21fcf83df3a.1447880230.git.stillcompiling@gmail.com> (raw)
In-Reply-To: <cover.1447880230.git.stillcompiling@gmail.com>
In-Reply-To: <cover.1447880230.git.stillcompiling@gmail.com>
Move the input_tx code into its own small function.
This cleans up some variables from main() that are used only here.
While we are at it, check malloc calls instead of assuming they succeed.
Signed-off-by: Joshua Clayton <stillcompiling@gmail.com>
---
tools/spi/spidev_test.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/tools/spi/spidev_test.c b/tools/spi/spidev_test.c
index 135b3f5..f9d2957 100644
--- a/tools/spi/spidev_test.c
+++ b/tools/spi/spidev_test.c
@@ -249,13 +249,30 @@ static void parse_opts(int argc, char *argv[])
}
}
+static void transfer_escaped_string(int fd, char *str)
+{
+ size_t size = strlen(str + 1);
+ uint8_t *tx;
+ uint8_t *rx;
+
+ tx = malloc(size);
+ if (!tx)
+ pabort("can't allocate tx buffer");
+
+ rx = malloc(size);
+ if (!rx)
+ pabort("can't allocate rx buffer");
+
+ size = unescape((char *)tx, str, size);
+ transfer(fd, tx, rx, size);
+ free(rx);
+ free(tx);
+}
+
int main(int argc, char *argv[])
{
int ret = 0;
int fd;
- uint8_t *tx;
- uint8_t *rx;
- int size;
parse_opts(argc, argv);
@@ -300,17 +317,10 @@ int main(int argc, char *argv[])
printf("bits per word: %d\n", bits);
printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000);
- if (input_tx) {
- size = strlen(input_tx+1);
- tx = malloc(size);
- rx = malloc(size);
- size = unescape((char *)tx, input_tx, size);
- transfer(fd, tx, rx, size);
- free(rx);
- free(tx);
- } else {
+ if (input_tx)
+ transfer_escaped_string(fd, input_tx);
+ else
transfer(fd, default_tx, default_rx, sizeof(default_tx));
- }
close(fd);
--
2.5.0
next prev parent reply other threads:[~2015-11-18 22:30 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 15:24 [PATCH 0/8] spi: Add file i/o to spidev_test Joshua Clayton
2015-11-17 15:24 ` [PATCH 1/8] Documentation/spi/spidev_test.c: use one rx buffer Joshua Clayton
[not found] ` <2f17ae29e75967b4522b080c275b907622e1d353.1447773299.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-17 17:41 ` Mark Brown
[not found] ` <20151117174156.GX31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-17 18:58 ` Joshua Clayton
2015-11-17 15:24 ` [PATCH 2/8] Documentation/spi/spidev_test.c: clean up input_tx Joshua Clayton
2015-11-17 17:43 ` Mark Brown
[not found] ` <20151117174333.GY31303-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-11-17 19:21 ` Joshua Clayton
2015-11-17 22:52 ` Mark Brown
2015-11-17 15:24 ` [PATCH 3/8] Documentation/spi/spidev_test.c: accept input from a file Joshua Clayton
2015-11-17 18:26 ` Anton Bondarenko
2015-11-17 18:46 ` Mark Brown
[not found] ` <564B716E.5020605-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-17 19:28 ` Joshua Clayton
[not found] ` <cover.1447773299.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-17 15:24 ` [PATCH 4/8] Documentation/spi/spidev_test.c: output to " Joshua Clayton
2015-11-17 15:24 ` [PATCH 5/8] Documentation/spi/spidev_test.c: check error Joshua Clayton
2015-11-17 15:24 ` [PATCH 6/8] Documentation/spi/spidev_test.c: fix whitespace Joshua Clayton
2015-11-17 15:24 ` [PATCH 7/8] tools/Makefile: minor whitespace cleanup Joshua Clayton
[not found] ` <155366ac799345f42c8c342609ffa11b2df529b0.1447773299.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-17 18:09 ` Mark Brown
2015-11-17 19:41 ` Joshua Clayton
2015-11-17 15:24 ` [PATCH 8/8] spi: Move spi code from Documentation to tools Joshua Clayton
[not found] ` <7f1a4995f0e48b738d3aa4f4d8ddd210a0ae2b24.1447773299.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-17 18:11 ` Mark Brown
2015-11-17 15:37 ` [PATCH 0/8] spi: Add file i/o to spidev_test Mark Brown
2015-11-17 16:15 ` Joshua Clayton
2015-11-17 16:53 ` Mark Brown
2015-11-18 22:30 ` [PATCH v2 0/6] " Joshua Clayton
2015-11-18 22:30 ` [PATCH v2 1/6] spi: Move spi code from Documentation to tools Joshua Clayton
2015-11-18 22:30 ` Joshua Clayton [this message]
[not found] ` <b0719c2739aabcd9894e85d82cbae21fcf83df3a.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 14:54 ` Applied "spi: spidev_test: transfer_escaped_string function" to the spi tree Mark Brown
2015-11-18 22:30 ` [PATCH v2 3/6] spi: spidev_test: accept input from a file Joshua Clayton
[not found] ` <783ea7346741b23f17c73a13f03f64ac17de8c2e.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 14:54 ` Applied "spi: spidev_test: accept input from a file" to the spi tree Mark Brown
[not found] ` <cover.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-18 22:30 ` [PATCH v2 4/6] spi: spidev_test: output to a file Joshua Clayton
[not found] ` <9ef02d085de706dfbf7eb57370ce33f076dfd9ce.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 14:54 ` Applied "spi: spidev_test: output to a file" to the spi tree Mark Brown
2015-11-18 22:30 ` [PATCH v2 5/6] spi: spidev_test: check error Joshua Clayton
[not found] ` <2bbb0374d7fd390a04ceb8d7b552f1a8d946c0f0.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 14:54 ` Applied "spi: spidev_test: check error" to the spi tree Mark Brown
2015-11-18 22:30 ` [PATCH v2 6/6] spi: spidev_test: fix whitespace Joshua Clayton
[not found] ` <0365b51d6bfd3002287a1ebe382e58a2766aa2d2.1447880230.git.stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-23 14:54 ` Applied "spi: spidev_test: fix whitespace" to the spi tree Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b0719c2739aabcd9894e85d82cbae21fcf83df3a.1447880230.git.stillcompiling@gmail.com \
--to=stillcompiling@gmail.com \
--cc=anton.bondarenko.sama@gmail.com \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).