From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Tue, 11 Aug 2015 16:51:37 -0400 Subject: Repatch (from linux) of OSX IRAF --- pkg/utilities/nttools/stxtools/tpfetch.x | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkg/utilities/nttools/stxtools/tpfetch.x (limited to 'pkg/utilities/nttools/stxtools/tpfetch.x') diff --git a/pkg/utilities/nttools/stxtools/tpfetch.x b/pkg/utilities/nttools/stxtools/tpfetch.x new file mode 100644 index 00000000..885fd847 --- /dev/null +++ b/pkg/utilities/nttools/stxtools/tpfetch.x @@ -0,0 +1,43 @@ +include "template.h" + +# TP_FETCH -- Fetch the next image name from the group image template +# +# Create the next file name from the structure created by tp_open. +# Return true if another group exists, false otherwise. +# +# B.Simon 28-Feb-89 Original +# B.Simon 21-Aug-91 Changed template structure +# B.Simon 24-Jul-98 Revised to handle unparsable sections + +bool procedure tp_fetch (ptr, file_name) + +pointer ptr # i: A pointer to a list of file names +char file_name[SZ_FNAME] # o: The next file name in the list +#-- + +begin + if ((TP_INDEX(ptr) - TP_START(ptr)) + 1 > TP_COUNT(ptr)) + return (false) + + if (TP_START(ptr) == ERR) { + call sprintf (file_name, SZ_FNAME, "%s%s") + call pargstr (TP_ROOT(ptr)) + call pargstr (TP_SECT(ptr)) + + } else if (TP_COUNT(ptr) > 1 && TP_INDEX(ptr) == TP_START(ptr)) { + call sprintf (file_name, SZ_FNAME, "%s[%d/%d]%s") + call pargstr (TP_ROOT(ptr)) + call pargi (TP_INDEX(ptr)) + call pargi (TP_COUNT(ptr)) + call pargstr (TP_SECT(ptr)) + + } else { + call sprintf (file_name, SZ_FNAME, "%s[%d]%s") + call pargstr (TP_ROOT(ptr)) + call pargi (TP_INDEX(ptr)) + call pargstr (TP_SECT(ptr)) + } + + TP_INDEX(ptr) = TP_INDEX(ptr) + 1 + return (true) +end -- cgit