From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- pkg/utilities/t_detab.x | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pkg/utilities/t_detab.x (limited to 'pkg/utilities/t_detab.x') 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 -- cgit