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 /sys/ki/kifndnode.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/ki/kifndnode.x')
-rw-r--r-- | sys/ki/kifndnode.x | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/sys/ki/kifndnode.x b/sys/ki/kifndnode.x new file mode 100644 index 00000000..f41e7197 --- /dev/null +++ b/sys/ki/kifndnode.x @@ -0,0 +1,40 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include "ki.h" + +# KI_FINDNODE -- Given an alias for a node, search the node descriptor table +# and return the table index of the named node or NULL. + +int procedure ki_findnode (alias) + +char alias[ARB] # alias to search for + +int node, i +char first_char +bool streq() +int ki_gethosts(), ki_mapname(), and() +include "kinode.com" + +begin + # Read the host name table if it has not been read yet. + if (n_nnodes == 0) + if (ki_gethosts() == ERR) + return (NULL) + + # Map possible logical node name. + if (ki_mapname (alias, n_nodename, SZ_ALIAS) <= 0) + call strcpy (alias, n_nodename, SZ_ALIAS) + + # Search the node descriptor table for a node with the given alias. + # Do not use descriptors that have the IOERR flag set. + + first_char = n_nodename[1] + for (node=1; node <= n_nnodes; node=node+1) + for (i=1; i <= n_nalias[node]; i=i+1) + if (first_char == n_alias[1,i,node]) + if (streq (n_nodename, n_alias[1,i,node])) + if (and (n_status[node], F_IOERR) == 0) + return (node) + + return (NULL) +end |