#include "file.h"
#ifndef lint
-FILE_RCSID("@(#)$File: readcdf.c,v 1.27 2011/09/28 13:30:10 christos Exp $")
+FILE_RCSID("@(#)$File: readcdf.c,v 1.28 2012/02/17 05:27:45 christos Exp $")
#endif
#include <stdlib.h>
return -1;
if (NOTMIME(ms)) {
- if (file_printf(ms, "Composite Document File V2 Document") == -1)
+ if (file_printf(ms, "Composite Document File V2 Document")
+ == -1)
return -1;
if (file_printf(ms, ", %s Endian",
si.si_byte_order == 0xfffe ? "Little" : "Big") == -1)
- return -1;
+ return -2;
switch (si.si_os) {
case 2:
if (file_printf(ms, ", Os: Windows, Version %d.%d",
si.si_os_version & 0xff,
(uint32_t)si.si_os_version >> 8) == -1)
- return -1;
+ return -2;
break;
case 1:
if (file_printf(ms, ", Os: MacOS, Version %d.%d",
(uint32_t)si.si_os_version >> 8,
si.si_os_version & 0xff) == -1)
- return -1;
+ return -2;
break;
default:
if (file_printf(ms, ", Os %d, Version: %d.%d", si.si_os,
si.si_os_version & 0xff,
(uint32_t)si.si_os_version >> 8) == -1)
- return -1;
+ return -2;
break;
}
}
m = cdf_file_property_info(ms, info, count);
free(info);
- return m;
+ return m == -1 ? -2 : m;
}
protected int
#ifdef CDF_DEBUG
cdf_dump_summary_info(&h, &scn);
#endif
- if ((i = cdf_file_summary_info(ms, &h, &scn)) == -1)
+ if ((i = cdf_file_summary_info(ms, &h, &scn)) < 0)
expn = "Can't expand summary_info";
if (i == 0) {
const char *str = "vnd.ms-office";
free(sat.sat_tab);
out0:
if (i != 1) {
- if (file_printf(ms, "Composite Document File V2 Document")
- == -1)
- return -1;
+ if (i == -1)
+ if (file_printf(ms, "Composite Document File V2 Document")
+ == -1)
+ return -1;
if (*expn)
if (file_printf(ms, ", %s%s", corrupt, expn) == -1)
return -1;