|
@@ -100,9 +100,16 @@ void sendFile(const char * filename, ISocket * socket)
|
|
|
size = ftell(in);
|
|
|
fseek(in, 0, SEEK_SET);
|
|
|
buff = malloc(size);
|
|
|
- fread(buff, 1, size, in);
|
|
|
+ size_t numRead = fread(buff, 1, size, in);
|
|
|
fclose(in);
|
|
|
+ if (numRead != size)
|
|
|
+ {
|
|
|
+ printf("read from file %s failed (%u/%u)\n", filename, (unsigned)numRead, size);
|
|
|
+ size = 0;
|
|
|
+ }
|
|
|
}
|
|
|
+ else
|
|
|
+ printf("read from file %s failed\n", filename);
|
|
|
|
|
|
unsigned dllLen = size;
|
|
|
_WINREV(dllLen);
|
|
@@ -131,9 +138,17 @@ void sendFileChunk(const char * filename, offset_t offset, ISocket * socket)
|
|
|
if (size > CHUNK_SIZE)
|
|
|
size = CHUNK_SIZE;
|
|
|
buff = malloc(size);
|
|
|
- fread(buff, 1, size, in);
|
|
|
+ size_t numRead = fread(buff, 1, size, in);
|
|
|
fclose(in);
|
|
|
+ if (numRead != size)
|
|
|
+ {
|
|
|
+ printf("read from file %s failed (%u/%u)\n", filename, (unsigned)numRead, size);
|
|
|
+ size = 0;
|
|
|
+ }
|
|
|
}
|
|
|
+ else
|
|
|
+ printf("read from file %s failed\n", filename);
|
|
|
+
|
|
|
|
|
|
if (size > 0)
|
|
|
{
|