1234567891011121314151617181920212223242526272829303132333435363738 |
- From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001
- From: Zhang Xiao <xiao.zhang@windriver.com>
- Date: Wed, 11 Jun 2014 14:01:16 +0800
- Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF
- In ascii mode, if the CR and LF was separated into different transfer
- blocks, LF will be just dropped instead of replacing the previous CR.
- Add a checking on the first character to fix it.
- Upstream-Status: Pending
- Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
- ---
- common/tftpsubs.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
- diff --git a/common/tftpsubs.c b/common/tftpsubs.c
- index b4d4ffe..b4ea3f2 100644
- --- a/common/tftpsubs.c
- +++ b/common/tftpsubs.c
- @@ -207,6 +207,14 @@ int write_behind(FILE * file, int convert)
- p = buf;
- ct = count;
- count = 0;
- +
- + /* Check the first character together with prevchar */
- + c = *p;
- + if ((prevchar == '\r') && (c == '\n')) {
- + lseek(fileno(file), -1, SEEK_CUR);
- + count++;
- + }
- +
- while (ct--) { /* loop over the buffer */
- c = *p++; /* pick up a character */
- if (prevchar == '\r') { /* if prev char was cr */
- --
- 1.8.5.2.233.g932f7e4
|