summaryrefslogtreecommitdiff
path: root/scripts/config.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/config.pl')
-rwxr-xr-xscripts/config.pl81
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;
}