]> git.imager.perl.org - imager.git/commitdiff
access to lower-level error messages
authorTony Cook <tony@develop=help.com>
Tue, 10 Apr 2001 04:24:55 +0000 (04:24 +0000)
committerTony Cook <tony@develop=help.com>
Tue, 10 Apr 2001 04:24:55 +0000 (04:24 +0000)
Imager.xs

index cd3bc984d6c943a9d9e012124db054edea27931c..2eb4dfe74a716bf437721f30c178b45e402592b5 100644 (file)
--- a/Imager.xs
+++ b/Imager.xs
@@ -1687,8 +1687,31 @@ i_gradgen(im, ...)
 
 
 
-
-
+void
+i_errors()
+      PREINIT:
+        i_errmsg *errors;
+       int i;
+       int count;
+       AV *av;
+       SV *ref;
+       SV *sv;
+      PPCODE:
+       errors = i_errors();
+       i = 0;
+       while (errors[i].msg) {
+         av = newAV();
+         sv = newSVpv(errors[i].msg, strlen(errors[i].msg));
+         if (!av_store(av, 0, sv)) {
+           SvREFCNT_dec(sv);
+         }
+         sv = newSViv(errors[i].code);
+         if (!av_store(av, 1, sv)) {
+           SvREFCNT_dec(sv);
+         }
+         PUSHs(sv_2mortal(newRV_noinc((SV*)av)));
+         ++i;
+       }
 
 void
 i_nearest_color(im, ...)