This is an automated email from Gerrit. Andreas Fritiofson (andreas.fritiof...@gmail.com) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/1380
-- gerrit commit a22981fd1cd4e0381d53cfcfd9a0ef8dfb95bda7 Author: Andreas Fritiofson <andreas.fritiof...@gmail.com> Date: Mon May 6 00:09:03 2013 +0200 remote_bitbang: De-duplicate init code and clean up on error Change-Id: I8be413a9e1683f96f835232f9ff25d9bd42099de Signed-off-by: Andreas Fritiofson <andreas.fritiof...@gmail.com> diff --git a/src/jtag/drivers/remote_bitbang.c b/src/jtag/drivers/remote_bitbang.c index 7c8c06b..0223643 100644 --- a/src/jtag/drivers/remote_bitbang.c +++ b/src/jtag/drivers/remote_bitbang.c @@ -171,20 +171,7 @@ static int remote_bitbang_init_tcp(void) return ERROR_FAIL; } - remote_bitbang_in = fdopen(fd, "r"); - if (remote_bitbang_in == NULL) { - LOG_ERROR("fdopen: failed to open read stream"); - return ERROR_FAIL; - } - - remote_bitbang_out = fdopen(fd, "w"); - if (remote_bitbang_out == NULL) { - LOG_ERROR("fdopen: failed to open write stream"); - return ERROR_FAIL; - } - - LOG_INFO("remote_bitbang driver initialized"); - return ERROR_OK; + return fd; } static int remote_bitbang_init_unix(void) @@ -211,15 +198,34 @@ static int remote_bitbang_init_unix(void) return ERROR_FAIL; } + return fd; +} + +static int remote_bitbang_init(void) +{ + int fd; + bitbang_interface = &remote_bitbang_bitbang; + + LOG_INFO("Initializing remote_bitbang driver"); + if (remote_bitbang_port == NULL) + fd = remote_bitbang_init_unix(); + else + fd = remote_bitbang_init_tcp(); + + if (fd < 0) + return fd; + remote_bitbang_in = fdopen(fd, "r"); if (remote_bitbang_in == NULL) { LOG_ERROR("fdopen: failed to open read stream"); + close(fd); return ERROR_FAIL; } remote_bitbang_out = fdopen(fd, "w"); if (remote_bitbang_out == NULL) { LOG_ERROR("fdopen: failed to open write stream"); + fclose(remote_bitbang_in); return ERROR_FAIL; } @@ -227,16 +233,6 @@ static int remote_bitbang_init_unix(void) return ERROR_OK; } -static int remote_bitbang_init(void) -{ - bitbang_interface = &remote_bitbang_bitbang; - - LOG_INFO("Initializing remote_bitbang driver"); - if (remote_bitbang_port == NULL) - return remote_bitbang_init_unix(); - return remote_bitbang_init_tcp(); -} - COMMAND_HANDLER(remote_bitbang_handle_remote_bitbang_port_command) { if (CMD_ARGC == 1) { -- ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2 _______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel