#!/usr/bin/perl 

# $Id: newver,v 1.1 2004/01/07 10:29:28 nari Exp $

$printNumberOnly  = 0;
$printVersionName = 0;
$printTagName = 0;

while( $ARGV[0] =~ /^-/){
    $_ = shift;
    if(/^-p$/){
	$printNumberOnly = 1;
    }
    elsif(/^-s$/) {
	$printVersionName = 1;
    }
    elsif(/^-t$/) {
	$printTagName = 1;
    }
    else {
	die "unkown option $_ \n";
    }
}

$_ = <>;
if(!/^(char\s*\*\w*\s*=)\s*\"(\d+)\.(\d+)-(\d+)/) {
    die "Error Bad format:\n$_\n"; 
}
$head  = $1;
$majar = $2;
$minor = $3;
$link  = $4;

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
@wday=("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

$dstr = sprintf("%d/%02d/%02d(%s)",1900+$year,$mon+1,$mday,$wday[$wday]);
$tstr = sprintf("%02d:%02d:%02d",$hour,$min,$sec);
$vstr0 = sprintf("%d.%02d-%02d", $majar, $minor,$link);
$vstr = sprintf("%d.%02d-%02d", $majar, $minor,$link+1);
$hostname = `hostname`;
chop $hostname;

if ($printNumberOnly) {
    print $vstr0,"\n";
} elsif ($printVersionName) {
    printf "$vstr0 $dstr\n";
} elsif ($printTagName) {
    printf "R%d_%02d_%02d\n",$majar, $minor, $link;
}
elsif($tcl){
    print "$head\"$vstr $dstr\"; # $tstr $hostname\n";
    print "\n";

    print "# $_";
    while(<>){
	if(/^\s*$/) {next;}
	print $_;
    }
}
else {
    # printf "$head\"%d.%02d-%02d $dstr\"; /* $tstr */\n",$majar,$minor,$link;
    print "$head\"$vstr $dstr\"; /* $hostname $tstr */\n";
    print "\n";
    chop;
    s/\/\*//;
    s/\*\///;
    print "/* $_ */\n";
    while(<>){
	if(/^\s*$/) {next;}
	print $_;
    }
}

### Local Variables: ***
### mode: perl ***
### end: ***
