aboutsummaryrefslogtreecommitdiff
path: root/sys/imio/imfls.gx
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /sys/imio/imfls.gx
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'sys/imio/imfls.gx')
-rw-r--r--sys/imio/imfls.gx34
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/imio/imfls.gx b/sys/imio/imfls.gx
new file mode 100644
index 00000000..49016816
--- /dev/null
+++ b/sys/imio/imfls.gx
@@ -0,0 +1,34 @@
+# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+
+include <imhdr.h>
+include <imio.h>
+
+# IMFLS? -- Flush the output buffer, if necessary. Convert the datatype
+# of the pixels upon output, if the datatype of the pixels in the imagefile
+# is different than that requested by the calling program.
+
+procedure imfls$t (imdes)
+
+pointer imdes
+pointer bdes, bp
+errchk imflsh
+
+begin
+ # Ignore the flush request if the output buffer has already been
+ # flushed.
+
+ if (IM_FLUSH(imdes) == YES) {
+ bdes = IM_OBDES(imdes)
+ bp = BD_BUFPTR(bdes)
+
+ # Convert datatype of pixels, if necessary, and flush buffer.
+ if (IM_PIXTYPE(imdes) != TY_PIXEL || SZ_INT != SZ_INT32) {
+ call impak$t (Memc[bp], Memc[bp], BD_NPIX(bdes),
+ IM_PIXTYPE(imdes))
+ }
+
+ call imflsh (imdes, bp, BD_VS(bdes,1), BD_VE(bdes,1), BD_NDIM(bdes))
+
+ IM_FLUSH(imdes) = NO
+ }
+end