2003-02-17 Marcel Telka <marcel@telka.sk>

* configure.ac (AC_CHECK_FUNCS): Added getdelim and getline.
	(AC_CONFIG_FILES): Added src/lib/Makefile.
	* src/Makefile.am (SUBDIRS): Added lib.
	(jtag_DEPENDENCIES): Added libjtaglib.a.
	(jtag_LDADD): Ditto.
	* src/jtag.c: Added portable getline() declaration.
	* src/lib/Makefile.am: New file.
	* src/lib/getdelim.c: Ditto.
	* src/lib/getline.c: Ditto.


git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@361 b68d4a1b-bc3d-0410-92ed-d4ac073336b7
master
Marcel Telka 22 years ago
parent eb99256e68
commit 4e5cbded38

@ -1,3 +1,15 @@
2003-02-17 Marcel Telka <marcel@telka.sk>
* configure.ac (AC_CHECK_FUNCS): Added getdelim and getline.
(AC_CONFIG_FILES): Added src/lib/Makefile.
* src/Makefile.am (SUBDIRS): Added lib.
(jtag_DEPENDENCIES): Added libjtaglib.a.
(jtag_LDADD): Ditto.
* src/jtag.c: Added portable getline() declaration.
* src/lib/Makefile.am: New file.
* src/lib/getdelim.c: Ditto.
* src/lib/getline.c: Ditto.
2003-02-16 Marcel Telka <marcel@telka.sk>
* src/jtag.c (jtag_creae_jtagdir): New function (Alessandro Zummo).

@ -5,3 +5,4 @@ $Id$
* Support for display the result of a boundary scan formated according to the CPU definitions (e.g. MA[0-26] = 0x00001c00).
* Remove direct relation between JTAG instruction and data register (e.g. ARM7TDMI).
* Configurable big endian vs. little endian access.
* SVF player.

@ -36,6 +36,7 @@ AC_CONFIG_FILES(
data/Makefile
include/Makefile
src/Makefile
src/lib/Makefile
src/tap/Makefile
src/part/Makefile
)
@ -55,6 +56,7 @@ AC_ARG_WITH(include,
OPENWINCE_INC="-I$openwince_inc -I$openwince_inc/device"
AC_SEARCH_LIBS([ioperm], [ioperm])
AC_CHECK_FUNCS(getline getdelim)
CFLAGS="$CFLAGS -Wall"

@ -22,6 +22,7 @@
#
SUBDIRS = \
lib \
tap \
part
@ -43,8 +44,8 @@ jtag_SOURCES = \
flash-amd.c \
help.c
jtag_DEPENDENCIES = tap/libtap.a part/libpart.a
jtag_DEPENDENCIES = lib/libjtaglib.a tap/libtap.a part/libpart.a
jtag_LDADD = -lreadline -lncurses -Ltap -ltap -Lpart -lpart
jtag_LDADD = -lreadline -lncurses -Ltap -ltap -Lpart -lpart -Llib -ljtaglib
INCLUDES = -I$(top_srcdir)/include $(OPENWINCE_INC) -DJTAG_DATA_DIR=\"$(pkgdatadir)\"

@ -40,6 +40,10 @@
#include "detect.h"
#include "bus.h"
#ifndef HAVE_GETLINE
ssize_t getline( char **lineptr, size_t *n, FILE *stream );
#endif
cable_driver_t *cable = NULL;
parts *ps = NULL;
bus_driver_t *bus_driver = NULL;
@ -697,7 +701,7 @@ jtag_parse_file( const char *filename )
FILE *f;
int go = 1;
char *line = NULL;
int n;
int n = 0;
f = fopen( filename, "r" );
if (!f) {

@ -0,0 +1,3 @@
.deps
Makefile
Makefile.in

@ -0,0 +1,28 @@
#
# $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 <marcel@telka.sk>, 2003.
#
noinst_LIBRARIES = libjtaglib.a
libjtaglib_a_SOURCES = \
getdelim.c \
getline.c

@ -0,0 +1,92 @@
/*
* $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 <marcel@telka.sk>, 2003.
*
*/
#include <stdio.h>
#include <stdlib.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifndef HAVE_GETDELIM
#define GETDELIM_BUFFER 128
ssize_t
getdelim( char **lineptr, size_t *n, int delimiter, FILE *stream )
{
char *p;
int c;
size_t len = 0;
if (!lineptr || !n || (!*lineptr && *n))
return -1;
/* allocate initial buffer */
if (!*lineptr || !*n) {
char *np;
np = realloc( *lineptr, GETDELIM_BUFFER );
if (!np)
return -1;
*n = GETDELIM_BUFFER;
*lineptr = np;
}
p = *lineptr;
/* read characters from stream */
while ((c = fgetc( stream )) != EOF) {
if (len >= *n) {
char *np = realloc( *lineptr, *n * 2 );
if (!np)
return -1;
p = np + (p - *lineptr);
*lineptr = np;
*n *= 2;
}
*p++ = (char) c;
len++;
if (delimiter == c)
break;
}
/* end of file without any bytes read */
if ((c == EOF) && (len == 0))
return -1;
/* trailing '\0' */
if (len >= *n) {
char *np = realloc( *lineptr, *n + 1 );
if (!np)
return -1;
p = np + (p - *lineptr);
*lineptr = np;
*n += 1;
}
*p = '\0';
return len;
}
#endif /* HAVE_GETDELIM */

@ -0,0 +1,43 @@
/*
* $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 <marcel@telka.sk>, 2003.
*
*/
#include <stdio.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifndef HAVE_GETLINE
#ifndef HAVE_GETDELIM
ssize_t getdelim( char **lineptr, size_t *n, int delimiter, FILE *stream );
#endif /* HAVE_GETDELIM */
ssize_t
getline( char **lineptr, size_t *n, FILE *stream )
{
return getdelim( lineptr, n, '\n', stream );
}
#endif /* HAVE_GETLINE */
Loading…
Cancel
Save