diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2016-03-13 23:01:35 +0100 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2016-03-13 23:01:35 +0100 |
commit | 22927828393b3364bc2fb918e8af7b16f8204497 (patch) | |
tree | 299b70797bd72a930bd3457fcbac7a4209122d85 | |
parent | b58b9c26c94a7b5581188fb091a770d0b25a7c32 (diff) | |
download | rockbox-2292782.tar.gz rockbox-2292782.zip |
A better fix than b58b9c2.
I misunderstood the code a bit when I committed b58b9c2. The
read_char_no_whitespace() probably have to be done.
Change-Id: I024420149a04dbeed4d714795282bb7f88a8e1da
-rw-r--r-- | apps/plugins/goban/sgf.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/apps/plugins/goban/sgf.c b/apps/plugins/goban/sgf.c index 49dd28ff93..49dc617756 100644 --- a/apps/plugins/goban/sgf.c +++ b/apps/plugins/goban/sgf.c @@ -1261,6 +1261,13 @@ read_comment_sgf (char *buffer, size_t buffer_size) return -1; } + if (!(read_char_no_whitespace (unhandled_fd) == 'C') || + !(read_char_no_whitespace (unhandled_fd) == '[')) + { + DEBUGF ("comment prop points to incorrect place in unhandled_fd!!\n"); + return -1; + } + /* make output a string, the lazy way */ rb->memset (buffer, 0, buffer_size); ++bytes_read; @@ -1351,7 +1358,16 @@ write_comment_sgf (char *string) start_of_write_wcs: - if (!overwriting) + if (overwriting) + { + if (!(read_char_no_whitespace (unhandled_fd) == 'C') || + !(read_char_no_whitespace (unhandled_fd) == '[')) + { + DEBUGF ("non-comment while overwriting!!\n"); + return -1; + } + } + else { start_of_comment = rb->lseek (unhandled_fd, 0, SEEK_END); |