- f_read(&AppState->FileToSend, AppData, MaxSegSize, &AppDataSize);\r
- AppState->FileOpen = (MaxSegSize == AppDataSize);\r
+ f_read(&AppState->FileHandle, AppData, MaxSegSize, &AppDataSize);\r
+\r
+ /* If we are not re-transmitting a lost segment, advance file position */\r
+ if (uip_acked() && !(uip_rexmit()))\r
+ {\r
+ AppState->FileOpen = (AppDataSize > 0);\r
+ AppState->CurrentFilePos += AppDataSize;\r
+ }\r
+ \r
+ /* Stay in the SendData state if retransmission is required until all data sent */\r
+ AppState->PrevState = WEBSERVER_STATE_SendData;\r