while ((ch = getchar()) != EOF && ch != '\n') ;
}
-static gboolean _read_file(char *file_name, void **data, unsigned long long *data_size)
+static gboolean _read_file(char *file_name, void **data, size_t *data_size)
{
FILE *fp = NULL;
long file_size = 0;
fseek(fp, 0, SEEK_END);
file_size = ftell(fp);
- if (file_size > 0) {
- rewind(fp);
- *data = (void *)malloc(file_size);
- if (*data == NULL) {
- fprintf(stderr, "\tmalloc failed %d\n", errno);
- fclose(fp);
- fp = NULL;
- return FALSE;
- } else {
- if (fread(*data, 1, file_size, fp) == (size_t)file_size) {
- fprintf(stderr, "#Success# fread\n");
- } else {
- fprintf(stderr, "#Error# fread\n");
- fclose(fp);
- fp = NULL;
- return FALSE;
- }
- }
+ if (file_size < 0) {
+ fprintf(stderr, "\t[JPEG_testsuite] ftell failed \n");
fclose(fp);
fp = NULL;
+ return FALSE;
+ }
- if (*data) {
- *data_size = (unsigned long long)file_size;
- return TRUE;
- } else {
- *data_size = 0;
- return FALSE;
- }
- } else {
- fprintf(stderr, "#Error# ftell\n");
+ rewind(fp);
+ *data = (void *)malloc(file_size);
+ if (*data == NULL) {
+ fprintf(stderr, "\tmalloc failed %d\n", errno);
fclose(fp);
fp = NULL;
return FALSE;
}
+
+ *data_size = fread(*data, 1, file_size, fp);
+ if (*data_size != (size_t)file_size) {
+ fprintf(stderr, "#Error# fread\n");
+ fclose(fp);
+ fp = NULL;
+ free(*data);
+ *data = NULL;
+ *data_size = 0;
+ return FALSE;
+ }
+
+ fprintf(stderr, "#Success# fread\n");
+
+ fclose(fp);
+ fp = NULL;
+
+ return TRUE;
}
-static gboolean _write_file(const char *file_name, void *data, unsigned long long data_size)
+static gboolean _write_file(const char *file_name, void *data, size_t data_size)
{
FILE *fp = NULL;
if (!file_name || !data || data_size <= 0) {
- fprintf(stderr, "\tinvalid data %s %p size:%lld\n", file_name, data, data_size);
+ fprintf(stderr, "\tinvalid data %s %p size:%zu\n", file_name, data, data_size);
return FALSE;
}
gboolean _read_dir()
{
struct dirent *dp = NULL;
- DIR *fd = opendir(g_test_input.\rpath);
+ DIR *fd = opendir(g_test_input.
+path);
unsigned int i = 0, j = 0;
if (fd == NULL) {
- fprintf(stderr, "\tlistdir: can't open %s\n", g_test_input.\rpath);
+ fprintf(stderr, "\tlistdir: can't open %s\n", g_test_input.
+path);
return FALSE;
}
continue;
if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
continue; /* skip self and parent */
- size_t nbytes = g_snprintf(g_test_decode[g_num_of_files].filepath, sizeof(g_test_decode[g_num_of_files].filepath), "%s%s", g_test_input.\rpath, dp->d_name);
+ size_t nbytes = g_snprintf(g_test_decode[g_num_of_files].filepath, sizeof(g_test_decode[g_num_of_files].filepath), "%s%s", g_test_input.
+path, dp->d_name);
if (nbytes == 0)
continue;
g_num_of_files++;
return FALSE;
} else {
if ((g_test_input.cmd == TEST_DECODE_MEM) || (g_test_input.cmd == TEST_DECODE_MEM_ASYNC)) {
- if (_read_file(g_test_input.path, &g_test_input.buffer, &g_test_input.buffer_size) == FALSE) {
+ size_t read_size = 0;
+ if (_read_file(g_test_input.path, &g_test_input.buffer, &read_size) == FALSE) {
fprintf(stderr, "\tRead test file failed!\n");
return FALSE;
}
+ g_test_input.buffer_size = (unsigned long long)read_size;
} else {
- size_t nbytes = g_snprintf(g_test_decode[0].filepath, PATH_MAX, "%s", g_test_input.\rpath);
+ size_t nbytes = g_snprintf(g_test_decode[0].filepath, PATH_MAX, "%s", g_test_input.
+path);
if (nbytes == 0) return FALSE;
}
g_num_of_files = 1;
char temp[PATH_MAX];
memset(temp, 0, PATH_MAX);
snprintf(temp, PATH_MAX, "%s%s", DECODE_RESULT_PATH, "raw");
- if (_write_file(temp, g_test_decode[0].decoded, g_test_decode[0].decode_size) == FALSE) {
+ if (_write_file(temp, g_test_decode[0].decoded, (size_t)g_test_decode[0].decode_size) == FALSE) {
fprintf(stderr, "\tWrite the decoded result failed!\n");
return FALSE;
}
if ((g_test_input.cmd == TEST_DECODE_MEM) ||
(g_test_input.cmd == TEST_DECODE_MEM_ASYNC)) {
- if (_write_file(g_test_encode.out_path, g_test_encode.encoded, g_test_encode.encode_size) == FALSE) {
+ if (_write_file(g_test_encode.out_path, g_test_encode.encoded, (size_t)g_test_encode.encode_size) == FALSE) {
fprintf(stderr, "\tWrite the encoded result failed!\n");
return FALSE;
}
image_util_encode_destroy(encoded);
if (g_test_input.cmd == GIFTEST_ENCODE_MEM) {
- if (_write_file(g_test_encode.out_path, g_test_encode.encoded, g_test_encode.encode_size) == FALSE) {
+ if (_write_file(g_test_encode.out_path, g_test_encode.encoded, (size_t)g_test_encode.encode_size) == FALSE) {
fprintf(stderr, "\tWrite the encoded result failed!\n");
return FALSE;
}
image_util_encode_destroy(encoded);
if (g_test_input.cmd == GIFTEST_ENCODE_FRAME_MEM) {
- if (_write_file(g_test_encode.out_path, g_test_encode.encoded, g_test_encode.encode_size) == FALSE) {
+ if (_write_file(g_test_encode.out_path, g_test_encode.encoded, (size_t)g_test_encode.encode_size) == FALSE) {
fprintf(stderr, "\tWrite the encoded result failed!\n");
return FALSE;
}