#!/usr/bin/perl
#
# This perl script fixes up a chatdb corrupted in pennmush 1.7.7p21
# (the corruption bug went away in p23)
#
# Usage:
#
#   Uncompress chatdb if necessary
#   cp chatdb chatdb.bak
#   perl chatdb-fixer < chatdb.bak > chatdb
#   Compress chatdb if necessary
#   restart
#
# No warranty expressed or implied. Make backups.
# Written by Javelin, 13 October 2003
#

my $count = <>;
print $count;
chomp $count;
warn "$count channels here...\n";
my @file;
@file = <>;
while ($count--) {
  my $name = shift @file;
  print $name;
  warn "Channel named $name";
  while ($_ = shift @file) {
   print;
   last if /^key/;
  }
  while ($_ = shift @file) {
   last unless /^key/;
   print;
  }
  chomp;
  my $users = $_;
  my @users;
  while ($file[0] =~ /^\d/) {
      push(@users, shift @file);
      push(@users, shift @file);
      push(@users, shift @file);
  }
  $real = scalar(@users) / 3;
  warn "Supposedly $users, actually $real users\n" unless $real == $users;
  print "$real\n";
  print @users;
}

print @file;

