diff options
Diffstat (limited to 'scripts/config.pl')
| -rwxr-xr-x | scripts/config.pl | 81 |
1 files changed, 35 insertions, 46 deletions
diff --git a/scripts/config.pl b/scripts/config.pl index af58012..73b3ae5 100755 --- a/scripts/config.pl +++ b/scripts/config.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -# The yhttpd Project (2004, 2005) +# The yChat Project (2004, 2005) # # This script modifues the src/glob.h file. @@ -8,27 +8,24 @@ use strict; use scripts::modules::file; print <<END; -Welcome to the yhttpd configurator! +Welcome to the yChat configurator! You may also edit the src/glob.h file manually instead of using this configurator option. Please also notice that this are only before-compile options. All setups which can be made after com- -iling are placed in the yhttpd configuration file. +iling are placed in the yChat configuration file. END my $sep = "================================================================\n"; my $stdin; -for (;;) -{ +for (;;) { print "$sep Do you want to use the default before-compile options?\n"; print " (yes/no) [default is NO] "; $stdin = <STDIN>; chomp $stdin; - prove_if_default(\$stdin); print "\n"; - if ( $stdin eq "yes") - { + if ( $stdin eq "yes") { print " You chose to use all the default before-compile options. Exiti-\n"; print " ng the configurator now!\n"; print $sep; @@ -44,46 +41,37 @@ for (;;) my @glob = fopen("src/glob.h.org"); my $flag = 0; -for (@glob) -{ - if ( $flag == 0 && /- CONFIG -/ ) - { +for (@glob) { + if ( $flag == 0 && /- CONFIG -/ ) { print $sep; $flag = 1; next; - } - elsif ( $flag == 1 ) - { - if ( /\*\// ) - { + } elsif ( $flag == 1 ) { + if ( /\*\// ) { $flag = 2; - } - else - { + } else { print; } next; - } - elsif ( $flag == 2 ) - { - if ( /#define (.+) (.+)/ ) - { + } elsif ( $flag == 2 ) { + if ( /#define (.+) (.+)/ ) { my $def = $1; my $val = $2; my $flg = 0; $flg = 1 if $val =~ s/"//g; - print " [Press enter to use default value: $val] "; + print " [Press enter to use default value: $val or q to quit] "; $stdin = <STDIN>; chomp $stdin; - unless ( prove_if_default(\$stdin) ) - { + finish() if $stdin eq "q" or $stdin eq "quit"; + + unless ( parse_input_value(\$stdin,\$val) ) { $stdin = "\"$stdin\"" if $flg == 1; $_ = "#define $def $stdin\n"; } @@ -93,33 +81,28 @@ for (@glob) next; } - elsif ( /#define .+/ ) - { + elsif ( /#define .+/ ) { my $default = "true"; my $stdin; - for (;;) - { + for (;;) { $default = "false" if /\/\/#define/; - print " [Press enter to use default value: $default] "; + print " [Press enter to use default value: $default or q to quit] "; $stdin = <STDIN>; chomp $stdin; + finish() if $stdin eq "q" or $stdin eq "quit"; last if $stdin eq "" || $stdin eq "true" || $stdin eq "false"; print " Wrong input: You need to specify true or false!\n"; } - if ( $default eq "true" ) - { - $_ = "//$_" - unless prove_if_default(\$stdin); + if ( $default eq "true" ) { + $_ = "//$_" unless parse_input_value(\$stdin,\$default); } - else - { - s/^\/\/// - unless prove_if_default(\$stdin); + else { + s/^\/\/// unless parse_input_value(\$stdin,\$default); } print "\n"; @@ -129,16 +112,22 @@ for (@glob) } } // for - fwrite("src/glob.h", @glob); +finish(); + +sub finish() { + fwrite("src/glob.h", @glob); + exit 0; +} -sub prove_if_default -{ +sub parse_input_value { my $val = shift; - if ( $$val eq "" ) - { + my $def = shift; + + if ( $$val eq "" || $$val eq $$def) { print " -> Using default option!\n"; return 1; } + print " -> Using new option $$val!\n"; return 0; } |
