From d274e79ff6b31e3e43fc3d468d3b3f05b688098a Mon Sep 17 00:00:00 2001 From: Marcel Telka Date: Mon, 11 Aug 2003 21:38:09 +0000 Subject: [PATCH] 2003-08-11 Marcel Telka * src/cmd/Makefile.am (libcmd_a_SOURCES): Added include.c. * src/cmd/include.c: New file. * src/cmd/cmd.c (cmds): Added cmd_include. git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@501 b68d4a1b-bc3d-0410-92ed-d4ac073336b7 --- jtag/ChangeLog | 6 ++++ jtag/NEWS | 1 + jtag/src/cmd/Makefile.am | 1 + jtag/src/cmd/cmd.c | 2 ++ jtag/src/cmd/include.c | 77 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 jtag/src/cmd/include.c diff --git a/jtag/ChangeLog b/jtag/ChangeLog index c7943a7c..5c069f67 100644 --- a/jtag/ChangeLog +++ b/jtag/ChangeLog @@ -1,3 +1,9 @@ +2003-08-11 Marcel Telka + + * src/cmd/Makefile.am (libcmd_a_SOURCES): Added include.c. + * src/cmd/include.c: New file. + * src/cmd/cmd.c (cmds): Added cmd_include. + 2003-08-11 Marcel Telka * src/flash.c (flash_drivers): Added amd_8_flash_driver. diff --git a/jtag/NEWS b/jtag/NEWS index 83653269..279f3f40 100644 --- a/jtag/NEWS +++ b/jtag/NEWS @@ -21,6 +21,7 @@ jtag-0.5: * Added initial JTAG declarations for Broadcom BCM3310 (see support request 770145 for more info, thanks to Ramses VI). * Fixed invalid memory allocation size (core dump) in jtag_parse_line() function. + * Added new 'include' command. * Minor bugs fixed. jtag-0.4 (2003-05-29): diff --git a/jtag/src/cmd/Makefile.am b/jtag/src/cmd/Makefile.am index 2be0346a..a084319a 100644 --- a/jtag/src/cmd/Makefile.am +++ b/jtag/src/cmd/Makefile.am @@ -43,6 +43,7 @@ libcmd_a_SOURCES = \ readmem.c \ flashmem.c \ script.c \ + include.c \ cmd.c INCLUDES = -DJTAG_DATA_DIR=\"$(pkgdatadir)\" diff --git a/jtag/src/cmd/cmd.c b/jtag/src/cmd/cmd.c index 88f3d07f..4c703ff7 100644 --- a/jtag/src/cmd/cmd.c +++ b/jtag/src/cmd/cmd.c @@ -52,6 +52,7 @@ extern cmd_t cmd_readmem; extern cmd_t cmd_detectflash; extern cmd_t cmd_flashmem; extern cmd_t cmd_script; +extern cmd_t cmd_include; const cmd_t *cmds[] = { &cmd_quit, @@ -75,6 +76,7 @@ const cmd_t *cmds[] = { &cmd_detectflash, &cmd_flashmem, &cmd_script, + &cmd_include, NULL /* last must be NULL */ }; diff --git a/jtag/src/cmd/include.c b/jtag/src/cmd/include.c new file mode 100644 index 00000000..7269971d --- /dev/null +++ b/jtag/src/cmd/include.c @@ -0,0 +1,77 @@ +/* + * $Id$ + * + * Copyright (C) 2003 ETC s.r.o. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Written by Marcel Telka , 2003. + * + */ + +#include + +#include +#include +#include + +#include "jtag.h" + +#include "cmd.h" + +static int +cmd_include_run( char *params[] ) +{ + int go; + char *path; + int len; + + if (cmd_params( params ) != 2) + return -1; + + path = malloc( len = strlen( JTAG_DATA_DIR ) + strlen( params[1] ) + 2 ); + if (path == NULL) { + printf( _("Out of memory\n") ); + return 1; + } + snprintf( path, len, "%s/%s", JTAG_DATA_DIR, params[1] ); + + go = jtag_parse_file( path ); + if (go < 0) + printf( _("Unable to open file `%s'!\n"), params[1] ); + + free( path ); + + return go ? 1 : 0; +} + +static void +cmd_include_help( void ) +{ + printf( _( + "Usage: %s FILENAME\n" + "Run command sequence from external FILENAME from the repository.\n" + "\n" + "FILENAME Name of the file with commands\n" + ), "include" ); +} + +cmd_t cmd_include = { + "include", + N_("include command sequence from external repository"), + cmd_include_help, + cmd_include_run +};