#!/usr/bin/mawk -We
# *********************************************************************
#  Written by and copyright Carlo Strozzi <carlos@linux.it>.
#
#  xreftable: prints cross-reference information of the input NoSQL
#	      table.
#  Copyright (C) 1998-2003 Carlo Strozzi <carlos@linux.it>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# *********************************************************************
#  $Id: xreftable,v 1.2 2003/03/17 10:10:46 carlo Exp $

BEGIN {
   NULL = ""; FS = "\t"; OFS = "    "; ARGC = 1

   # Get local settings.
   nosql_install = ENVIRON["NOSQL_INSTALL"]
   stdout = ENVIRON["NOSQL_STDOUT"]
   stderr = ENVIRON["NOSQL_STDERR"]

   # Set default values if necessary.
   if (nosql_install == NULL) nosql_install = "/usr/local/nosql"
   if (stdout == NULL) stdout = "/dev/stdout"
   if (stderr == NULL) stderr = "/dev/stderr"

   while (ARGV[++i] != NULL) {
     if (ARGV[i] == "-h" || ARGV[i] == "--help") {
	system("grep -v '^#' " nosql_install "/help/xreftable.txt")
	rc = 1
	exit(rc)
     }
   }
}

{
  gsub(/\001/, "")			# Remove SOH markers
  split($0, c_names)
  j_mode = "%" length(NF) "s"
  for (i = 1; i <= NF; i++) {
    print " " sprintf(j_mode, i), c_names[i]
  }
  exit
}

#
# End of program
#
