Skip to content

Commit 236ccd6

Browse files
committed
Fixes for linux fread warnings
1 parent 58726bc commit 236ccd6

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

main.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include <stdlib.h>
33
#include <string.h>
44
#include <stdint.h>
5+
#include <assert.h>
56
#include "dds.h"
67
#include "tex.h"
78

@@ -20,15 +21,15 @@ void dds2tex(const char* dds_path)
2021
rewind(dds_file);
2122

2223
char magic[4];
23-
fread(magic, 1, 4, dds_file);
24-
if (file_size < sizeof(DDS_HEADER) + 4 || memcmp(magic, dds_magic, 4) != 0) {
24+
if (fread(magic, 1, 4, dds_file) != 4
25+
|| file_size < sizeof(DDS_HEADER) + 4 || memcmp(magic, dds_magic, 4) != 0) {
2526
fprintf(stderr, "Error: Not a valid dds file!\n");
2627
fclose(dds_file);
2728
return;
2829
}
2930

3031
DDS_HEADER dds_header;
31-
fread(&dds_header, sizeof(DDS_HEADER), 1, dds_file);
32+
assert(fread(&dds_header, sizeof(DDS_HEADER), 1, dds_file) == 1);
3233

3334
const uint8_t* tex_format;
3435
if (memcmp(dds_header.ddspf.dwFourCC, "DXT1", 4) == 0) {
@@ -62,7 +63,7 @@ void dds2tex(const char* dds_path)
6263

6364
// the raw dds image data
6465
uint8_t* data_buffer = malloc(file_size - sizeof(DDS_HEADER) - 4);
65-
fread(data_buffer, 1, file_size - sizeof(DDS_HEADER) - 4, dds_file);
66+
assert(fread(data_buffer, 1, file_size - sizeof(DDS_HEADER) - 4, dds_file) == file_size - sizeof(DDS_HEADER) - 4);
6667
fwrite(data_buffer, 1, file_size - sizeof(DDS_HEADER) - 4, tex_file);
6768
free(data_buffer);
6869

@@ -83,14 +84,14 @@ void tex2dds(const char* tex_path)
8384
rewind(tex_file);
8485

8586
TEX_HEADER tex_header;
86-
fread(tex_header.magic, 1, 4, tex_file);
87-
if (file_size < sizeof(TEX_HEADER) || memcmp(tex_header.magic, tex_magic, 4) != 0) {
87+
if (fread(tex_header.magic, 1, 4, tex_file) != 4
88+
|| file_size < sizeof(TEX_HEADER) || memcmp(tex_header.magic, tex_magic, 4) != 0) {
8889
fprintf(stderr, "Error: Not a valid tex file!\n");
8990
fclose(tex_file);
9091
return;
9192
}
9293

93-
fread((uint8_t*) &tex_header + 4, sizeof(TEX_HEADER) - 4, 1, tex_file);
94+
assert(fread((uint8_t*) &tex_header + 4, sizeof(TEX_HEADER) - 4, 1, tex_file) == 1);
9495

9596
const char* dds_format;
9697
if (memcmp(tex_header.tex_format, tex_dxt1_format, 4) == 0) {
@@ -132,7 +133,7 @@ void tex2dds(const char* tex_path)
132133

133134
// the raw dds image data
134135
uint8_t* data_buffer = malloc(file_size - sizeof(TEX_HEADER));
135-
fread(data_buffer, 1, file_size - sizeof(TEX_HEADER), tex_file);
136+
assert(fread(data_buffer, 1, file_size - sizeof(TEX_HEADER), tex_file) == file_size - sizeof(TEX_HEADER));
136137
fwrite(data_buffer, 1, file_size - sizeof(TEX_HEADER), dds_file);
137138
free(data_buffer);
138139

0 commit comments

Comments
 (0)