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/dataio/bintext/t_txtbin.x | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 pkg/dataio/bintext/t_txtbin.x (limited to 'pkg/dataio/bintext/t_txtbin.x') diff --git a/pkg/dataio/bintext/t_txtbin.x b/pkg/dataio/bintext/t_txtbin.x new file mode 100644 index 00000000..038a71ec --- /dev/null +++ b/pkg/dataio/bintext/t_txtbin.x @@ -0,0 +1,65 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# T_TXTBIN -- Procedure to convert text files to binary files. + +procedure t_txtbin () + +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 clpopni(), clplen(), clgfil(), strlen(), open() + +begin + # Get list of input files + list = clpopni ("text_file") + len_list = clplen (list) + + # Get output file name + call clgstr ("binary_file", outfile, SZ_FNAME) + + verbose = clgetb ("verbose") + + # Loop over the files + 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) + call flush (STDERR) + } + + # Open input and output files, copy and close input and + # output files. + in = open (infile, READ_ONLY, TEXT_FILE) + out = open (out_fname, NEW_FILE, BINARY_FILE) + call fcopyo (in, out) + call close (in) + call close (out) + + } then { + call eprintf ("Cannot read file: %s\n") + call pargstr (infile) + } else + file_number = file_number + 1 + } + call clpcls (list) +end + + + -- cgit