"panic" test program

crux-00006: $SRC/silly/chk.c

#include "utils/chk.h"
#include "utils/panic.h"

int
main (int argc, char * argv[])
{
  char * msg;
  int length;
  int arg_pos;
  int pos;

  chk_limit (64);
  msg = (char *)chk_malloc(1);
  msg[0] = 0;
  length = 0;
  for (arg_pos = 1; arg_pos < argc; ++arg_pos)
    for (pos = 0; argv[arg_pos][pos]; ++pos)
      {
        msg = (char *)chk_realloc ((void *)msg, length + 1, length + 2);
        msg[length] = argv[arg_pos][pos];
        msg[length + 1] = 0;
        length += 1;
      }

  panic (msg);  

  return 3;                     /* not reached, hopefully */
}



/*

    This file is part of Crux.

    Crux 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 3 of the License, or
    (at your option) any later version.

    Crux 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 Crux.  If not, see <http://www.gnu.org/licenses/>.

*/