"panic" test program

crux-00011: $SRC/silly/ar.c

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

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

  for (arg_pos = 1; arg_pos < argc; ++arg_pos)
    for (pos = 0; argv[arg_pos][pos]; ++pos)
      {
        *(char *)ar_ref ((void **)&msg,
                         &msg_n,
                         sizeof (char),
                         length++)
          = argv[arg_pos][pos];
      }

  *(char *)ar_ref ((void **)&msg,
                   &msg_n,
                   sizeof (char),
                   length++)
    = 0;
  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/>.

*/