static bool
im_SvREFSCALAR(SV *sv) {
svtype type = SvTYPE(sv);
- return type == SVt_PV || type == SVt_PVIV || type == SVt_PVNV
- || type == SVt_PVMG || type == SVt_IV || type == SVt_NV
- || type == SVt_PVLV || type == SVt_REGEXP;
+
+ switch (type) {
+ case SVt_PV:
+ case SVt_PVIV:
+ case SVt_PVNV:
+ case SVt_PVMG:
+ case SVt_IV:
+ case SVt_NV:
+ case SVt_PVLV:
+#if PERL_VERSION > 10
+ case SVt_REGEXP:
+#endif
+ return 1;
+
+ default:
+ return 0;
+ }
+}
+
+static const char *
+describe_sv(SV *sv) {
+ if (SvOK(sv)) {
+ if (SvROK(sv)) {
+ svtype type = SvTYPE(SvRV(sv));
+ switch (type) {
+ case SVt_PVCV: return "CV";
+ case SVt_PVGV: return "GV";
+ case SVt_PVLV: return "LV";
+ default: return "some reference";
+ }
+ }
+ else {
+ return "non-reference scalar";
+ }
+ }
+ else {
+ return "undef";
+ }
}
static i_io_glue_t *
SvGETMAGIC(data_sv);
if (SvROK(data_sv)) {
- if (im_SvREFSCALAR(data_sv)) {
+ if (im_SvREFSCALAR(SvRV(data_sv))) {
sv = SvRV(data_sv);
}
else {
- i_push_error(0, "data is not a scalar or a reference to scalar");
+ i_push_errorf(0, "data is not a scalar or a reference to scalar");
return NULL;
}
}
return io_new_buffer(data_copy, length, free_buffer, data_copy);
}
-static const char *
-describe_sv(SV *sv) {
- if (SvOK(sv)) {
- if (SvROK(sv)) {
- svtype type = SvTYPE(SvRV(sv));
- switch (type) {
- case SVt_PVCV: return "CV";
- case SVt_PVGV: return "GV";
- case SVt_PVLV: return "LV";
- default: return "some reference";
- }
- }
- else {
- return "non-reference scalar";
- }
- }
- else {
- return "undef";
- }
-}
-
static i_io_glue_t *
do_io_new_cb(pTHX_ SV *writecb, SV *readcb, SV *seekcb, SV *closecb) {
struct cbdata *cbd;
if (size <= 0)
croak("size negative in call to i_io_raw_read()");
/* prevent an undefined value warning if they supplied an
- undef buffer.
+ undef buffer.
Orginally conditional on !SvOK(), but this will prevent the
- downgrade from croaking */
- sv_setpvn(buffer_sv, "", 0);
+ downgrade from croaking */
+ sv_setpvn(buffer_sv, "", 0);
#ifdef SvUTF8
- if (SvUTF8(buffer_sv))
+ if (SvUTF8(buffer_sv))
sv_utf8_downgrade(buffer_sv, FALSE);
#endif
buffer = SvGROW(buffer_sv, size+1);
if (size <= 0)
croak("size negative in call to i_io_read()");
/* prevent an undefined value warning if they supplied an
- undef buffer.
+ undef buffer.
Orginally conditional on !SvOK(), but this will prevent the
- downgrade from croaking */
- sv_setpvn(buffer_sv, "", 0);
+ downgrade from croaking */
+ sv_setpvn(buffer_sv, "", 0);
#ifdef SvUTF8
- if (SvUTF8(buffer_sv))
+ if (SvUTF8(buffer_sv))
sv_utf8_downgrade(buffer_sv, FALSE);
#endif
buffer = SvGROW(buffer_sv, size+1);
float usat
float skew
+void
+i_autolevels_mono(im,lsat,usat)
+ Imager::ImgRaw im
+ float lsat
+ float usat
+
void
i_radnoise(im,xo,yo,rscale,ascale)
Imager::ImgRaw im