diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /pkg/dataio/bintext/t_bintxt.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'pkg/dataio/bintext/t_bintxt.x')
-rw-r--r-- | pkg/dataio/bintext/t_bintxt.x | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/pkg/dataio/bintext/t_bintxt.x b/pkg/dataio/bintext/t_bintxt.x new file mode 100644 index 00000000..13b1e328 --- /dev/null +++ b/pkg/dataio/bintext/t_bintxt.x @@ -0,0 +1,65 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +define MAX_RANGES 100 + +# T_BINTXT -- Procedure to convert binary files containing only text to text +# files. + +procedure t_bintxt() + +bool verbose +char outfile[SZ_FNAME] + +char infile[SZ_FNAME], out_fname[SZ_FNAME] +int list, len_list, in, out, file_number + +bool clgetb() +int strlen(), open(), clpopni(), clplen(), clgfil() + +begin + # Get input files + list = clpopni ("binary_file") + len_list = clplen (list) + + # Get output files + call clgstr ("text_file", outfile, SZ_FNAME) + + verbose = clgetb ("verbose") + + file_number = 1 + while (clgfil (list, infile, SZ_FNAME) != EOF) { + + if (len_list > 1) { + call strcpy (outfile, out_fname, SZ_FNAME) + call sprintf (out_fname[strlen(out_fname) + 1], SZ_FNAME, + "%03d") + call pargi (file_number) + } else + call strcpy (outfile, out_fname, SZ_FNAME) + + iferr { + + if (verbose) { + call printf ("File: %s -> %s\n") + call pargstr (infile) + call pargstr (out_fname) + } + + # Open input and output files, copy and close files + in = open (infile, READ_ONLY, BINARY_FILE) + out = open (out_fname, NEW_FILE, TEXT_FILE) + call fcopyo (in, out) + call close (in) + call close (out) + + } then { + if (verbose) { + call eprintf ("Cannot read file %s\n") + call pargstr (infile) + } + } else + file_number = file_number + 1 + } + + call clpcls (list) +end |