#!/usr/bin/mawk -We
# *********************************************************************
# xreftable: prints cross-reference information of the input NoSQL
#	     table.
# Copyright (c) 1998,2006 Carlo Strozzi
#
# 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; version 2 dated June, 1991.
#
# 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.4 2006/03/10 11:26:13 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")
	exit(rc=1)
     }
     else if (ARGV[i] == "--show-copying") {
	system("cat " nosql_install "/doc/COPYING")
	exit(rc=1)
     }
     else if (ARGV[i] == "--show-warranty") {
	system("cat " nosql_install "/doc/WARRANTY")
	exit(rc=1)
     }
   }
}

NR == 1 { gsub(/[\001 ]+/, "") }	# Remove SOH and blanks

{
  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
