hex2dump: Needs to read new character at end of the loop

This commit is contained in:
Gregory Nutt 2014-06-15 14:06:46 -06:00
parent 0bb3b49cc2
commit 0487f8fbf4
2 changed files with 8 additions and 5 deletions

View File

@ -43,7 +43,6 @@
#include <nuttx/config.h>
#include <stdint.h>
#include <debug.h>
#ifdef CONFIG_SYSTEM_HEX2BIN
@ -96,8 +95,7 @@
#ifdef CONFIG_CPP_HAVE_VARARGS
# ifdef CONFIG_SYSTEM_HEX2BIN_DEBUG
# define hex2bin_debug(format, ...) \
fprintf(stderr, EXTRA_FMT format EXTRA_ARG, ##__VA_ARGS__)
# define hex2bin_debug(format, ...) fprintf(stderr, format, ##__VA_ARGS__)
# else
# define lldbg(x...)
# endif

View File

@ -249,17 +249,18 @@ int data2bin(FAR uint8_t* dest, FAR const uint8_t *src, int nbytes)
static int readstream(FAR struct lib_instream_s *instream,
FAR uint8_t *line, unsigned int lineno)
{
int ch = instream->get(instream);
int nbytes = 0;
int ch;
/* Skip until the beginning of line start code is encountered */
ch = instream->get(instream);
while (ch != RECORD_STARTCODE && ch != EOF)
{
ch = instream->get(instream);
}
/* Skip over the start code */
/* Skip over the startcode */
if (ch != EOF)
{
@ -313,6 +314,10 @@ static int readstream(FAR struct lib_instream_s *instream,
lineno, isprint(ch) ? ch : '.', ch);
break;
}
/* Read the next character from the input stream */
ch = instream->get(instream);
}
/* Some error occurred: Unexpected EOF, line too long, or bad character in