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 
 |