summaryrefslogtreecommitdiffstats
path: root/test/plist_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/plist_test.c')
-rw-r--r--test/plist_test.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/test/plist_test.c b/test/plist_test.c
index 17be11a..6e94c57 100644
--- a/test/plist_test.c
+++ b/test/plist_test.c
@@ -44,14 +44,16 @@ int main(int argc, char *argv[])
uint32_t size_out = 0;
uint32_t size_out2 = 0;
char *file_in = NULL;
+ char *file_out = NULL;
struct stat *filestats = (struct stat *) malloc(sizeof(struct stat));
- if (argc!= 2)
+ if (argc != 3)
{
printf("Wrong input\n");
return 1;
}
file_in = argv[1];
+ file_out = argv[2];
//read input file
iplist = fopen(file_in, "rb");
@@ -64,7 +66,13 @@ int main(int argc, char *argv[])
stat(file_in, filestats);
size_in = filestats->st_size;
plist_xml = (char *) malloc(sizeof(char) * (size_in + 1));
- fread(plist_xml, sizeof(char), size_in, iplist);
+ if (fread(plist_xml, sizeof(char), size_in, iplist) != (size_t)size_in) {
+ printf("Failed to read input file\n");
+ fclose(iplist);
+ free(plist_xml);
+ free(filestats);
+ return 3;
+ }
fclose(iplist);
@@ -75,41 +83,35 @@ int main(int argc, char *argv[])
printf("PList XML parsing failed\n");
return 3;
}
- else
- printf("PList XML parsing succeeded\n");
+ printf("PList XML parsing succeeded\n");
plist_to_bin(root_node1, &plist_bin, &size_out);
if (!plist_bin)
{
printf("PList BIN writing failed\n");
return 4;
}
- else
- printf("PList BIN writing succeeded\n");
+ printf("PList BIN writing succeeded\n");
plist_from_bin(plist_bin, size_out, &root_node2);
if (!root_node2)
{
printf("PList BIN parsing failed\n");
return 5;
}
- else
- printf("PList BIN parsing succeeded\n");
+ printf("PList BIN parsing succeeded\n");
plist_to_xml(root_node2, &plist_xml2, &size_out2);
if (!plist_xml2)
{
printf("PList XML writing failed\n");
return 8;
}
- else
- printf("PList XML writing succeeded\n");
+ printf("PList XML writing succeeded\n");
if (plist_xml2)
{
FILE *oplist = NULL;
- char file_out[512];
- sprintf(file_out, "%s.out", file_in);
oplist = fopen(file_out, "wb");
fwrite(plist_xml2, size_out2, sizeof(char), oplist);
fclose(oplist);