updated the main function
This commit is contained in:
parent
a5f7e9d43c
commit
d8b3e8ef9e
@ -18,7 +18,7 @@ bin_PROGRAMS = hawk
|
||||
##################################################
|
||||
# hawk
|
||||
##################################################
|
||||
hawk_SOURCES = hawk.c sed.c main.h
|
||||
hawk_SOURCES = hawk.c sed.c main.c main.h
|
||||
hawk_CPPFLAGS = $(CPPFLAGS_COMMON)
|
||||
hawk_CFLAGS = $(CFLAGS_COMMON)
|
||||
hawk_LDFLAGS = $(LDFLAGS_COMMON)
|
||||
|
@ -111,7 +111,8 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_hawk_OBJECTS = hawk-hawk.$(OBJEXT) hawk-sed.$(OBJEXT)
|
||||
am_hawk_OBJECTS = hawk-hawk.$(OBJEXT) hawk-sed.$(OBJEXT) \
|
||||
hawk-main.$(OBJEXT)
|
||||
hawk_OBJECTS = $(am_hawk_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
hawk_DEPENDENCIES = $(LIBADD_COMMON) $(am__DEPENDENCIES_1)
|
||||
@ -137,7 +138,8 @@ am__v_at_1 =
|
||||
DEFAULT_INCLUDES =
|
||||
depcomp = $(SHELL) $(top_srcdir)/ac/depcomp
|
||||
am__maybe_remake_depfiles = depfiles
|
||||
am__depfiles_remade = ./$(DEPDIR)/hawk-hawk.Po ./$(DEPDIR)/hawk-sed.Po
|
||||
am__depfiles_remade = ./$(DEPDIR)/hawk-hawk.Po \
|
||||
./$(DEPDIR)/hawk-main.Po ./$(DEPDIR)/hawk-sed.Po
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
@ -354,7 +356,7 @@ LIBADD_COMMON = ../lib/libhawk.la
|
||||
##################################################
|
||||
# hawk
|
||||
##################################################
|
||||
hawk_SOURCES = hawk.c sed.c main.h
|
||||
hawk_SOURCES = hawk.c sed.c main.c main.h
|
||||
hawk_CPPFLAGS = $(CPPFLAGS_COMMON)
|
||||
hawk_CFLAGS = $(CFLAGS_COMMON)
|
||||
hawk_LDFLAGS = $(LDFLAGS_COMMON)
|
||||
@ -448,6 +450,7 @@ distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk-hawk.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk-main.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk-sed.Po@am__quote@ # am--include-marker
|
||||
|
||||
$(am__depfiles_remade):
|
||||
@ -508,6 +511,20 @@ hawk-sed.obj: sed.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-sed.obj `if test -f 'sed.c'; then $(CYGPATH_W) 'sed.c'; else $(CYGPATH_W) '$(srcdir)/sed.c'; fi`
|
||||
|
||||
hawk-main.o: main.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -MT hawk-main.o -MD -MP -MF $(DEPDIR)/hawk-main.Tpo -c -o hawk-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk-main.Tpo $(DEPDIR)/hawk-main.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='hawk-main.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
|
||||
|
||||
hawk-main.obj: main.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -MT hawk-main.obj -MD -MP -MF $(DEPDIR)/hawk-main.Tpo -c -o hawk-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk-main.Tpo $(DEPDIR)/hawk-main.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='hawk-main.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
@ -641,6 +658,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f ./$(DEPDIR)/hawk-hawk.Po
|
||||
-rm -f ./$(DEPDIR)/hawk-main.Po
|
||||
-rm -f ./$(DEPDIR)/hawk-sed.Po
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
@ -688,6 +706,7 @@ installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f ./$(DEPDIR)/hawk-hawk.Po
|
||||
-rm -f ./$(DEPDIR)/hawk-main.Po
|
||||
-rm -f ./$(DEPDIR)/hawk-sed.Po
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
68
bin/hawk.c
68
bin/hawk.c
@ -529,13 +529,15 @@ struct opttab_t
|
||||
{ HAWK_NULL, 0, HAWK_NULL }
|
||||
};
|
||||
|
||||
static void print_usage (FILE* out, const hawk_bch_t* argv0)
|
||||
static void print_usage (FILE* out, const hawk_bch_t* argv0, const hawk_bch_t* real_argv0)
|
||||
{
|
||||
int j;
|
||||
const hawk_bch_t* b = hawk_get_base_name_bcstr(argv0);
|
||||
const hawk_bch_t* b1 = hawk_get_base_name_bcstr(real_argv0? real_argv0: argv0);
|
||||
const hawk_bch_t* b2 = (real_argv0? " ": "");
|
||||
const hawk_bch_t* b3 = (real_argv0? argv0: "");
|
||||
|
||||
fprintf (out, "USAGE: %s [options] -f sourcefile [ -- ] [datafile]*\n", b);
|
||||
fprintf (out, " %s [options] [ -- ] sourcestring [datafile]*\n", b);
|
||||
fprintf (out, "USAGE: %s%s%s [options] -f sourcefile [ -- ] [datafile]*\n", b1, b2, b3);
|
||||
fprintf (out, " %s%s%s [options] [ -- ] sourcestring [datafile]*\n", b1, b2, b3);
|
||||
fprintf (out, "Where options are:\n");
|
||||
fprintf (out, " -h/--help print this message\n");
|
||||
fprintf (out, " --version print version\n");
|
||||
@ -650,7 +652,7 @@ static int expand_wildcard (int argc, hawk_bch_t* argv[], int do_glob, xarg_t* x
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
static int process_argv (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
static int process_argv (int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0, struct arg_t* arg)
|
||||
{
|
||||
static hawk_bcli_lng_t lng[] =
|
||||
{
|
||||
@ -865,7 +867,7 @@ static int process_argv (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
|
||||
if (hawk_comp_bcstr(opt.lngopt, "version", 0) == 0)
|
||||
{
|
||||
print_version (argv[0]);
|
||||
print_version (real_argv0? real_argv0: argv[0]);
|
||||
oops_ret = 2;
|
||||
goto oops;
|
||||
}
|
||||
@ -1123,7 +1125,7 @@ static hawk_mmgr_t debug_mmgr =
|
||||
};
|
||||
#endif
|
||||
|
||||
static HAWK_INLINE int execute_hawk (int argc, hawk_bch_t* argv[])
|
||||
static HAWK_INLINE int execute_hawk (int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0)
|
||||
{
|
||||
hawk_t* hawk = HAWK_NULL;
|
||||
hawk_rtx_t* rtx = HAWK_NULL;
|
||||
@ -1146,10 +1148,10 @@ static HAWK_INLINE int execute_hawk (int argc, hawk_bch_t* argv[])
|
||||
hawk_parsestd_t psout;
|
||||
hawk_mmgr_t* mmgr = hawk_get_sys_mmgr();
|
||||
|
||||
i = process_argv(argc, argv, &arg);
|
||||
i = process_argv(argc, argv, real_argv0, &arg);
|
||||
if (i <= 0)
|
||||
{
|
||||
print_usage (((i == 0)? stdout: stderr), argv[0]);
|
||||
print_usage (((i == 0)? stdout: stderr), argv[0], real_argv0);
|
||||
return i;
|
||||
}
|
||||
if (i == 2) return 0;
|
||||
@ -1348,7 +1350,7 @@ oops:
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
static int main_hawk(int argc, hawk_bch_t* argv[])
|
||||
int main_hawk(int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@ -1395,7 +1397,7 @@ static int main_hawk(int argc, hawk_bch_t* argv[])
|
||||
else sock_inited = 1;
|
||||
#endif
|
||||
|
||||
ret = execute_hawk(argc, argv);
|
||||
ret = execute_hawk(argc, argv, real_argv0);
|
||||
|
||||
#if defined(_WIN32)
|
||||
if (sock_inited) WSACleanup ();
|
||||
@ -1405,47 +1407,3 @@ static int main_hawk(int argc, hawk_bch_t* argv[])
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main(int argc, hawk_bch_t* argv[])
|
||||
{
|
||||
const hawk_bch_t* base;
|
||||
|
||||
base = hawk_get_base_name_bcstr(argv[0]);
|
||||
if (hawk_comp_bcstr(base, "sed", 0) == 0 || hawk_comp_bcstr(base, "hawk-sed", 0) == 0)
|
||||
{
|
||||
/* sed ... */
|
||||
/* hawk-sed ... */
|
||||
return main_sed(argc, argv);
|
||||
}
|
||||
|
||||
if (argc >= 2 && hawk_comp_bcstr(argv[1], "sed", 0) == 0)
|
||||
{
|
||||
/* hawk sed ... */
|
||||
return main_sed(argc - 1, &argv[1]);
|
||||
}
|
||||
else if (argc >= 2 && hawk_comp_bcstr(argv[1], "awk", 0) == 0)
|
||||
{
|
||||
/* hawk awk ... */
|
||||
return main_hawk(argc - 1, &argv[1]);
|
||||
}
|
||||
|
||||
return main_hawk(argc, argv);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
#if defined(FAKE_SOCKET)
|
||||
socket () {}
|
||||
listen () {}
|
||||
accept () {}
|
||||
recvfrom () {}
|
||||
connect () {}
|
||||
getsockopt () {}
|
||||
recv () {}
|
||||
setsockopt () {}
|
||||
send () {}
|
||||
bind () {}
|
||||
shutdown () {}
|
||||
|
||||
void* memmove (void* x, void* y, size_t z) {}
|
||||
#endif
|
||||
|
62
bin/main.c
Normal file
62
bin/main.c
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
Copyright (c) 2006-2020 Chung, Hyung-Hwan. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "main.h"
|
||||
|
||||
int main(int argc, hawk_bch_t* argv[])
|
||||
{
|
||||
if (argc >= 2 && hawk_comp_bcstr(argv[1], "--sed", 0) == 0)
|
||||
{
|
||||
/* hawk --sed ... */
|
||||
return main_sed(argc - 1, &argv[1], argv[0]);
|
||||
}
|
||||
else if (argc >= 2 && hawk_comp_bcstr(argv[1], "--awk", 0) == 0)
|
||||
{
|
||||
/* hawk --awk ... */
|
||||
/* in this mode, the value ARGV[0] inside a hawk script is "--awk" */
|
||||
return main_hawk(argc - 1, &argv[1], argv[0]);
|
||||
}
|
||||
|
||||
return main_hawk(argc, argv, HAWK_NULL);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
#if defined(FAKE_SOCKET)
|
||||
socket () {}
|
||||
listen () {}
|
||||
accept () {}
|
||||
recvfrom () {}
|
||||
connect () {}
|
||||
getsockopt () {}
|
||||
recv () {}
|
||||
setsockopt () {}
|
||||
send () {}
|
||||
bind () {}
|
||||
shutdown () {}
|
||||
|
||||
void* memmove (void* x, void* y, size_t z) {}
|
||||
#endif
|
28
bin/main.h
28
bin/main.h
@ -1,3 +1,28 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
Copyright (c) 2006-2020 Chung, Hyung-Hwan. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _MAIN_H_
|
||||
#define _MAIN_H_
|
||||
@ -8,7 +33,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int main_sed(int argc, hawk_bch_t* argv[]);
|
||||
int main_hawk(int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0);
|
||||
int main_sed(int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0);
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
38
bin/sed.c
38
bin/sed.c
@ -174,7 +174,7 @@ static hawk_mmgr_t debug_mmgr =
|
||||
|
||||
static void print_version (const hawk_bch_t* argv0)
|
||||
{
|
||||
fprintf (stdout, "%s (HAWK SED) %s\n", hawk_get_base_name_bcstr(argv0), HAWK_PACKAGE_VERSION);
|
||||
fprintf (stdout, "%s %s\n", hawk_get_base_name_bcstr(argv0), HAWK_PACKAGE_VERSION);
|
||||
fprintf (stdout, "Copyright 2006-2022 Chung, Hyung-Hwan\n");
|
||||
}
|
||||
|
||||
@ -196,13 +196,15 @@ static void print_warning (const hawk_bch_t* fmt, ...)
|
||||
va_end (va);
|
||||
}
|
||||
|
||||
static void print_usage (FILE* out, int argc, hawk_bch_t* argv[])
|
||||
static void print_usage (FILE* out, const hawk_bch_t* argv0, const hawk_bch_t* real_argv0)
|
||||
{
|
||||
const hawk_bch_t* b = hawk_get_base_name_bcstr(argv[0]);
|
||||
const hawk_bch_t* b1 = hawk_get_base_name_bcstr(real_argv0? real_argv0: argv0);
|
||||
const hawk_bch_t* b2 = (real_argv0? " ": "");
|
||||
const hawk_bch_t* b3 = (real_argv0? argv0: "");
|
||||
|
||||
fprintf (out, "USAGE: %s [options] script [file]\n", b);
|
||||
fprintf (out, " %s [options] -f script-file [file]\n", b);
|
||||
fprintf (out, " %s [options] -e script [file]\n", b);
|
||||
fprintf (out, "USAGE: %s%s%s [options] script [file]\n", b1, b2, b3);
|
||||
fprintf (out, " %s%s%s [options] -f script-file [file]\n", b1, b2, b3);
|
||||
fprintf (out, " %s%s%s [options] -e script [file]\n", b1, b2, b3);
|
||||
|
||||
fprintf (out, "options as follows:\n");
|
||||
fprintf (out, " -h/--help show this message\n");
|
||||
@ -284,7 +286,7 @@ static void free_scripts (void)
|
||||
}
|
||||
}
|
||||
|
||||
static int handle_args (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
static int handle_args (int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0, struct arg_t* arg)
|
||||
{
|
||||
static hawk_bcli_lng_t lng[] =
|
||||
{
|
||||
@ -314,21 +316,21 @@ static int handle_args (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
switch (c)
|
||||
{
|
||||
default:
|
||||
print_usage (stderr, argc, argv);
|
||||
print_usage (stderr, argv[0], real_argv0);
|
||||
goto oops;
|
||||
|
||||
case '?':
|
||||
print_error ("bad option - %c\n", opt.opt);
|
||||
print_usage (stderr, argc, argv);
|
||||
print_usage (stderr, argv[0], real_argv0);
|
||||
goto oops;
|
||||
|
||||
case ':':
|
||||
print_error ("bad parameter for %c\n", opt.opt);
|
||||
print_usage (stderr, argc, argv);
|
||||
print_usage (stderr, argv[0], real_argv0);
|
||||
goto oops;
|
||||
|
||||
case 'h':
|
||||
print_usage (stdout, argc, argv);
|
||||
print_usage (stdout, argv[0], real_argv0);
|
||||
goto done;
|
||||
|
||||
case 'n':
|
||||
@ -384,7 +386,7 @@ static int handle_args (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
arg->trace = 1;
|
||||
break;
|
||||
#else
|
||||
print_usage (stderr, argc, argv);
|
||||
print_usage (stderr, argv[0], real_argv0);
|
||||
goto oops;
|
||||
#endif
|
||||
|
||||
@ -406,7 +408,7 @@ static int handle_args (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
{
|
||||
if (hawk_comp_bcstr(opt.lngopt, "version", 0) == 0)
|
||||
{
|
||||
print_version (argv[0]);
|
||||
print_version (real_argv0? real_argv0: argv[0]);
|
||||
goto done;
|
||||
}
|
||||
else if (hawk_comp_bcstr(opt.lngopt, "script-encoding", 0) == 0)
|
||||
@ -450,7 +452,7 @@ static int handle_args (int argc, hawk_bch_t* argv[], struct arg_t* arg)
|
||||
|
||||
if (g_script.size <= 0)
|
||||
{
|
||||
print_usage (stderr, argc, argv);
|
||||
print_usage (stderr, argv[0], real_argv0);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
@ -791,7 +793,7 @@ static int expand_wildcards (int argc, hawk_bch_t* argv[], int glob, xarg_t* xar
|
||||
return 0;
|
||||
}
|
||||
|
||||
static HAWK_INLINE int execute_hawk_sed (int argc, hawk_bch_t* argv[])
|
||||
static HAWK_INLINE int execute_sed (int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0)
|
||||
{
|
||||
hawk_sed_t* sed = HAWK_NULL;
|
||||
hawk_oow_t script_count;
|
||||
@ -803,7 +805,7 @@ static HAWK_INLINE int execute_hawk_sed (int argc, hawk_bch_t* argv[])
|
||||
hawk_cmgr_t* cmgr = hawk_get_cmgr_by_id(HAWK_CMGR_UTF8);
|
||||
|
||||
memset (&arg, 0, HAWK_SIZEOF(arg));
|
||||
ret = handle_args(argc, argv, &arg);
|
||||
ret = handle_args(argc, argv, real_argv0, &arg);
|
||||
if (ret <= -1) return -1;
|
||||
if (ret == 0) return 0;
|
||||
|
||||
@ -1114,7 +1116,7 @@ oops:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main_sed(int argc, hawk_bch_t* argv[])
|
||||
int main_sed(int argc, hawk_bch_t* argv[], const hawk_bch_t* real_argv0)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@ -1161,7 +1163,7 @@ int main_sed(int argc, hawk_bch_t* argv[])
|
||||
else sock_inited = 1;
|
||||
#endif
|
||||
|
||||
ret = execute_hawk_sed(argc, argv);
|
||||
ret = execute_sed(argc, argv, real_argv0);
|
||||
|
||||
#if defined(_WIN32)
|
||||
if (sock_inited) WSACleanup ();
|
||||
|
Loading…
x
Reference in New Issue
Block a user