aboutsummaryrefslogtreecommitdiff
path: root/pkg/utilities/t_detab.x
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 /pkg/utilities/t_detab.x
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'pkg/utilities/t_detab.x')
-rw-r--r--pkg/utilities/t_detab.x30
1 files changed, 30 insertions, 0 deletions
diff --git a/pkg/utilities/t_detab.x b/pkg/utilities/t_detab.x
new file mode 100644
index 00000000..6928b0b8
--- /dev/null
+++ b/pkg/utilities/t_detab.x
@@ -0,0 +1,30 @@
+# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+
+# DETAB -- Each file matching the file template is copied to the standard
+# output, replacing tab characters by equivalent sequences of blanks.
+# A special list of tabstops may optionally be specified.
+
+procedure t_detab ()
+
+char tablist[SZ_LINE], line[SZ_LINE], outline[SZ_LINE], in_fname[SZ_FNAME]
+int list, nchars, in, tabs[SZ_LINE]
+int clpopni(), decode_tablist(), clgfil(), getline()
+int gstrdetab(), open()
+
+begin
+ list = clpopni ("files")
+ call clgstr ("tablist", tablist, SZ_LINE)
+ if (decode_tablist (tablist, tabs, SZ_LINE) == ERR)
+ call error (1, "Unable to decode list of tabs.")
+
+ while (clgfil (list, in_fname, SZ_FNAME) != EOF) {
+ in = open (in_fname, READ_ONLY, TEXT_FILE)
+ while (getline (in, line) != EOF) {
+ nchars = gstrdetab (line, outline, SZ_LINE, tabs)
+ call putline (STDOUT, outline)
+ }
+ call close (in)
+ }
+
+ call clpcls (list)
+end