}
size = sb.st_size;
- fprintf(stderr, "size: %lld bytes\n", (long long) size);
-
buffer = malloc(size);
if (!buffer) {
fprintf(stderr, "Unable to allocate %lld bytes\n",
/* parse */
code = svgtiny_parse(diagram, buffer, size, argv[1], 1000, 1000);
- if (code != svgtiny_OK)
- fprintf(stderr, "svgtiny_parse failed: %i\n", code);
+ if (code != svgtiny_OK) {
+ fprintf(stderr, "svgtiny_parse failed: ");
+ switch (code) {
+ case svgtiny_OUT_OF_MEMORY:
+ fprintf(stderr, "svgtiny_OUT_OF_MEMORY");
+ break;
+ case svgtiny_LIBXML_ERROR:
+ fprintf(stderr, "svgtiny_LIBXML_ERROR");
+ break;
+ case svgtiny_NOT_SVG:
+ fprintf(stderr, "svgtiny_NOT_SVG");
+ break;
+ case svgtiny_SVG_ERROR:
+ fprintf(stderr, "svgtiny_SVG_ERROR: line %i: %s",
+ diagram->error_line,
+ diagram->error_message);
+ break;
+ default:
+ fprintf(stderr, "unknown svgtiny_code %i", code);
+ break;
+ }
+ fprintf(stderr, "\n");
+ }
+
+ free(buffer);
printf("viewbox 0 0 %i %i\n", diagram->width, diagram->height);
printf("stroke none ");
else
printf("stroke #%.6x ", diagram->shape[i].stroke);
+ printf("stroke-width %i ", diagram->shape[i].stroke_width);
if (diagram->shape[i].path) {
printf("path '");
for (unsigned int j = 0;
printf("\n");
}
+ svgtiny_free(diagram);
+
return 0;
}