diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-04-06 16:20:20 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-04-06 16:20:20 +0200 |
commit | f8b61244e3490003c1419447f5ec2232adc9a844 (patch) | |
tree | 8f2192cd0e0e5443c3aa5b71d892010917411cd0 | |
parent | 4b77a582d891874e10c0c6b5fb1313c09409cbef (diff) | |
download | biruda-f8b61244e3490003c1419447f5ec2232adc9a844.tar.gz biruda-f8b61244e3490003c1419447f5ec2232adc9a844.tar.bz2 |
CLI can take host and port parameter as arguments now
-rw-r--r-- | src/biruda.c | 11 | ||||
-rw-r--r-- | src/cli.c | 8 | ||||
-rw-r--r-- | src/cli.h | 2 |
3 files changed, 15 insertions, 6 deletions
diff --git a/src/biruda.c b/src/biruda.c index 8479aa5..1a25a05 100644 --- a/src/biruda.c +++ b/src/biruda.c @@ -383,7 +383,16 @@ int main( int argc, char *argv[] ) port = cfg_getint( webserver_cfg, "port" ); } } - ret = start_interactive( ( in == stdin ) ? !args_info.no_colors_given : false, port, in ); + + const char *host = DEFAULT_WEBSERVER_HOST; + if( args_info.inputs_num >= 1 ) { + host = args_info.inputs[0]; + } + if( args_info.inputs_num >= 2 ) { + port = atoi( args_info.inputs[1] ); + } + + ret = start_interactive( ( in == stdin ) ? !args_info.no_colors_given : false, host, port, in ); #else if( args_info.filename_given ) { ret = start_interactive( false, in ); @@ -1,7 +1,7 @@ #include "cli.h" #ifdef _WIN32 -int start_interactive( bool colors, FILE *in ) +int start_interactive( bool colors, const char *host, unsigned short port, FILE *in ) { fprintf( stderr, "ERROR: Not implemented on Windows!\n" ); return EXIT_FAILURE; @@ -255,13 +255,13 @@ static void stop_worker( const char *worker_name ) } } -int start_interactive( bool colors, unsigned short port, FILE *in ) +int start_interactive( bool colors, const char *host, unsigned short port, FILE *in ) { char history_filename[1024]; // for http_tidy, tell it where to issue requests to - http_server = "localhost"; // server is hard-coded - http_port = port; // port not + http_server = (char *)host; + http_port = port; is_interactive = isatty( fileno( in ) ); print_colors = is_interactive ? colors : false; @@ -5,6 +5,6 @@ #include <stdio.h> -int start_interactive( bool colors, unsigned short port, FILE *in ); +int start_interactive( bool colors, const char *host, unsigned short port, FILE *in ); #endif |