]> gitweb.michael.orlitzky.com - libsvgtiny.git/blobdiff - svgtiny_test.c
Linear gradients, part 1.
[libsvgtiny.git] / svgtiny_test.c
index 9bb7e2e30cdd2e9e50348842c4c8ca68f8694729..be1a4eb0c5c9581342d1f96b63f5ee360a39eb2e 100644 (file)
@@ -40,8 +40,6 @@ int main(int argc, char *argv[])
        }
        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",
@@ -66,8 +64,31 @@ int main(int argc, char *argv[])
 
        /* 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);
 
@@ -80,6 +101,7 @@ int main(int argc, char *argv[])
                        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;
@@ -126,6 +148,8 @@ int main(int argc, char *argv[])
                printf("\n");
        }
 
+       svgtiny_free(diagram);
+
        return 0;
 }