fixed bch mode issues and raised the version to 0.9.9
This commit is contained in:
parent
6a59d3c70b
commit
b80ee515b6
53
configure
vendored
53
configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.71 for hawk 0.9.8.
|
||||
# Generated by GNU Autoconf 2.71 for hawk 0.9.9.
|
||||
#
|
||||
# Report bugs to <Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)>.
|
||||
#
|
||||
@ -621,8 +621,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='hawk'
|
||||
PACKAGE_TARNAME='hawk'
|
||||
PACKAGE_VERSION='0.9.8'
|
||||
PACKAGE_STRING='hawk 0.9.8'
|
||||
PACKAGE_VERSION='0.9.9'
|
||||
PACKAGE_STRING='hawk 0.9.9'
|
||||
PACKAGE_BUGREPORT='Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)'
|
||||
PACKAGE_URL='https://code.miflux.net/hyung-hwan/hawk'
|
||||
|
||||
@ -710,6 +710,8 @@ UNWIND_LIBS
|
||||
FFI_LIBS
|
||||
LTDL_LIBS
|
||||
DL_LIBS
|
||||
ENABLE_WIDE_CHAR_FALSE
|
||||
ENABLE_WIDE_CHAR_TRUE
|
||||
LIBM
|
||||
MACOSX_FALSE
|
||||
MACOSX_TRUE
|
||||
@ -1435,7 +1437,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures hawk 0.9.8 to adapt to many kinds of systems.
|
||||
\`configure' configures hawk 0.9.9 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1506,7 +1508,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of hawk 0.9.8:";;
|
||||
short | recursive ) echo "Configuration of hawk 0.9.9:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1647,7 +1649,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
hawk configure 0.9.8
|
||||
hawk configure 0.9.9
|
||||
generated by GNU Autoconf 2.71
|
||||
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
@ -2376,7 +2378,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by hawk $as_me 0.9.8, which was
|
||||
It was created by hawk $as_me 0.9.9, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
$ $0$ac_configure_args_raw
|
||||
@ -3874,7 +3876,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='hawk'
|
||||
VERSION='0.9.8'
|
||||
VERSION='0.9.9'
|
||||
|
||||
|
||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||
@ -19791,6 +19793,29 @@ printf "%s\n" "#define HAWK_PREFER_PREFIX_L 1" >>confdefs.h
|
||||
fi
|
||||
fi
|
||||
|
||||
case "${enable_wide_char}" in
|
||||
yes*)
|
||||
if true; then
|
||||
ENABLE_WIDE_CHAR_TRUE=
|
||||
ENABLE_WIDE_CHAR_FALSE='#'
|
||||
else
|
||||
ENABLE_WIDE_CHAR_TRUE='#'
|
||||
ENABLE_WIDE_CHAR_FALSE=
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
if false; then
|
||||
ENABLE_WIDE_CHAR_TRUE=
|
||||
ENABLE_WIDE_CHAR_FALSE='#'
|
||||
else
|
||||
ENABLE_WIDE_CHAR_TRUE='#'
|
||||
ENABLE_WIDE_CHAR_FALSE=
|
||||
fi
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for char16_t literal" >&5
|
||||
printf %s "checking for char16_t literal... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
@ -26656,6 +26681,14 @@ if test -z "${MACOSX_TRUE}" && test -z "${MACOSX_FALSE}"; then
|
||||
as_fn_error $? "conditional \"MACOSX\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${ENABLE_WIDE_CHAR_TRUE}" && test -z "${ENABLE_WIDE_CHAR_FALSE}"; then
|
||||
as_fn_error $? "conditional \"ENABLE_WIDE_CHAR\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${ENABLE_WIDE_CHAR_TRUE}" && test -z "${ENABLE_WIDE_CHAR_FALSE}"; then
|
||||
as_fn_error $? "conditional \"ENABLE_WIDE_CHAR\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${HAVE_LIBUCI_TRUE}" && test -z "${HAVE_LIBUCI_FALSE}"; then
|
||||
as_fn_error $? "conditional \"HAVE_LIBUCI\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
@ -27091,7 +27124,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by hawk $as_me 0.9.8, which was
|
||||
This file was extended by hawk $as_me 0.9.9, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -27160,7 +27193,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config='$ac_cs_config_escaped'
|
||||
ac_cs_version="\\
|
||||
hawk config.status 0.9.8
|
||||
hawk config.status 0.9.9
|
||||
configured by $0, generated by GNU Autoconf 2.71,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
11
configure.ac
11
configure.ac
@ -1,6 +1,6 @@
|
||||
dnl AC_PREREQ([2.71])
|
||||
|
||||
AC_INIT([hawk],[0.9.8],[Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)],[],[https://code.miflux.net/hyung-hwan/hawk])
|
||||
AC_INIT([hawk],[0.9.9],[Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)],[],[https://code.miflux.net/hyung-hwan/hawk])
|
||||
|
||||
AC_CONFIG_HEADERS([lib/hawk-cfg.h])
|
||||
AC_CONFIG_AUX_DIR([ac])
|
||||
@ -174,6 +174,15 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
case "${enable_wide_char}" in
|
||||
yes*)
|
||||
AM_CONDITIONAL(ENABLE_WIDE_CHAR, true)
|
||||
;;
|
||||
*)
|
||||
AM_CONDITIONAL(ENABLE_WIDE_CHAR, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING([for char16_t literal])
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([], [const void* x = u"ab cd ef gh";])],
|
||||
|
@ -614,8 +614,8 @@ HAWK_EXPORT int hawk_fnmat_bchars_i (
|
||||
# define hawk_find_oochars_in_oochars hawk_find_bchars_in_bchars
|
||||
# define hawk_rfind_oochars_in_oochars hawk_rfind_bchars_in_bchars
|
||||
|
||||
# define hawk_compact_oochars hawk_compact_uchars
|
||||
# define hawk_rotate_oochars hawk_rotate_uchars
|
||||
# define hawk_compact_oochars hawk_compact_bchars
|
||||
# define hawk_rotate_oochars hawk_rotate_bchars
|
||||
# define hawk_tokenize_oochars hawk_tokenize_bchars
|
||||
# define hawk_trim_oochars hawk_trim_bchars
|
||||
# define hawk_split_oocstr hawk_split_bcstr
|
||||
|
@ -204,7 +204,7 @@ static int handle_string_value_char (hawk_json_t* json, hawk_ooci_t c)
|
||||
hawk_bch_t bcsbuf[HAWK_MBLEN_MAX];
|
||||
hawk_oow_t n;
|
||||
|
||||
n = json->_cmgr->wctomb(json->state_stack->u.sv.acc, bcsbuf, HAWK_COUNTOF(bcsbuf));
|
||||
n = json->_gem.cmgr->uctobc(json->state_stack->u.sv.acc, bcsbuf, HAWK_COUNTOF(bcsbuf));
|
||||
if (n == 0 || n > HAWK_COUNTOF(bcsbuf))
|
||||
{
|
||||
/* illegal character or buffer to small */
|
||||
|
20
lib/parse.c
20
lib/parse.c
@ -6942,6 +6942,26 @@ retry:
|
||||
if (HAWK_UNLIKELY(hawk_ooecs_fmt(tok->name, HAWK_T("%zu"), tok->loc.line) == (hawk_oow_t)-1)) return -1;
|
||||
SET_TOKEN_TYPE (hawk, tok, TOK_INT);
|
||||
}
|
||||
else if (hawk_comp_oochars_bcstr(HAWK_OOECS_PTR(tok->name), HAWK_OOECS_LEN(tok->name), "@UCH_ON", 0) == 0)
|
||||
{
|
||||
/* special parser-level word @SCRIPTLINE. subsitute an actual value for it */
|
||||
#if defined(HAWK_OOCH_IS_UCH)
|
||||
if (HAWK_UNLIKELY(hawk_ooecs_fmt(tok->name, HAWK_T("%zu"), 1) == (hawk_oow_t)-1)) return -1;
|
||||
#else
|
||||
if (HAWK_UNLIKELY(hawk_ooecs_fmt(tok->name, HAWK_T("%zu"), 0) == (hawk_oow_t)-1)) return -1;
|
||||
#endif
|
||||
SET_TOKEN_TYPE (hawk, tok, TOK_INT);
|
||||
}
|
||||
else if (hawk_comp_oochars_bcstr(HAWK_OOECS_PTR(tok->name), HAWK_OOECS_LEN(tok->name), "@BCH_ON", 0) == 0)
|
||||
{
|
||||
/* special parser-level word @SCRIPTLINE. subsitute an actual value for it */
|
||||
#if defined(HAWK_OOCH_IS_UCH)
|
||||
if (HAWK_UNLIKELY(hawk_ooecs_fmt(tok->name, HAWK_T("%zu"), 0) == (hawk_oow_t)-1)) return -1;
|
||||
#else
|
||||
if (HAWK_UNLIKELY(hawk_ooecs_fmt(tok->name, HAWK_T("%zu"), 1) == (hawk_oow_t)-1)) return -1;
|
||||
#endif
|
||||
SET_TOKEN_TYPE (hawk, tok, TOK_INT);
|
||||
}
|
||||
else
|
||||
{
|
||||
type = classify_ident(hawk, HAWK_OOECS_OOCS(tok->name));
|
||||
|
@ -1759,7 +1759,7 @@ static hawk_ooi_t sf_out (hawk_t* hawk, hawk_sio_cmd_t cmd, hawk_sio_arg_t* arg,
|
||||
if (hawk_convbtouchars(hawk, data, &mbslen, HAWK_NULL, &wcslen, 0) <= -1) return -1;
|
||||
if (wcslen > HAWK_TYPE_MAX(hawk_ooi_t)) wcslen = HAWK_TYPE_MAX(hawk_ooi_t);
|
||||
|
||||
orglen = hawk_becs_getlen(xtn->s.out.u.ucs.buf);
|
||||
orglen = hawk_uecs_getlen(xtn->s.out.u.ucs.buf);
|
||||
if (hawk_uecs_setlen(xtn->s.out.u.ucs.buf, orglen + wcslen) == (hawk_oow_t)-1) return -1;
|
||||
|
||||
mbslen = size;
|
||||
@ -3070,7 +3070,7 @@ hawk_rtx_t* hawk_rtx_openstdwithbcstr (
|
||||
#if defined(HAWK_OOCH_IS_UCH)
|
||||
xocf[i] = hawk_dupbtoucstr(hawk, ocf[i], &wcslen, 0);
|
||||
#else
|
||||
xocf[i] = hawk_dupucstr(hawk, ocf[i], HAWK_NULL);
|
||||
xocf[i] = hawk_dupbcstr(hawk, ocf[i], HAWK_NULL);
|
||||
#endif
|
||||
if (!xocf[i]) goto done;
|
||||
}
|
||||
@ -3149,7 +3149,7 @@ hawk_rtx_t* hawk_rtx_openstdwithucstr (
|
||||
for (i = 0; ocf[i]; i++)
|
||||
{
|
||||
#if defined(HAWK_OOCH_IS_BCH)
|
||||
xocf[i] = hawk_dupbtoucstr(hawk, ocf[i], &mbslen, 0);
|
||||
xocf[i] = hawk_duputobcstr(hawk, ocf[i], &mbslen);
|
||||
#else
|
||||
xocf[i] = hawk_dupucstr(hawk, ocf[i], HAWK_NULL);
|
||||
#endif
|
||||
|
@ -609,7 +609,7 @@ static HAWK_INLINE int add_ffi_arg (hawk_rtx_t* rtx, ffi_list_t* ffi_list, ffi_n
|
||||
|
||||
case FMTC_STR:
|
||||
{
|
||||
hawk_uch_t* ptr;
|
||||
hawk_ooch_t* ptr;
|
||||
hawk_oow_t len;
|
||||
|
||||
ptr = hawk_rtx_valtooocstrdup(rtx, arg, &len);
|
||||
|
@ -13,7 +13,11 @@ LDFLAGS_COMMON=-L$(abs_builddir)/../lib -L$(libdir)
|
||||
## for more information.
|
||||
LIBADD_COMMON = ../lib/libhawk.la $(LIBM)
|
||||
|
||||
check_SCRIPTS = h-001.hawk h-002.hawk h-003.hawk h-004.hawk h-009.hawk
|
||||
check_SCRIPTS =
|
||||
if ENABLE_WIDE_CHAR
|
||||
check_SCRIPTS += h-001.hawk h-002.hawk
|
||||
endif
|
||||
check_SCRIPTS += h-003.hawk h-004.hawk h-009.hawk
|
||||
|
||||
check_ERRORS = e-001.err
|
||||
|
||||
|
@ -87,6 +87,7 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
@ENABLE_WIDE_CHAR_TRUE@am__append_1 = h-001.hawk h-002.hawk
|
||||
check_PROGRAMS = t-001$(EXEEXT) t-002$(EXEEXT) t-003$(EXEEXT) \
|
||||
t-004$(EXEEXT) t-005$(EXEEXT) t-006$(EXEEXT) t-007$(EXEEXT)
|
||||
subdir = t
|
||||
@ -590,7 +591,7 @@ CPPFLAGS_COMMON = \
|
||||
CFLAGS_COMMON =
|
||||
LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
|
||||
LIBADD_COMMON = ../lib/libhawk.la $(LIBM)
|
||||
check_SCRIPTS = h-001.hawk h-002.hawk h-003.hawk h-004.hawk h-009.hawk
|
||||
check_SCRIPTS = $(am__append_1) h-003.hawk h-004.hawk h-009.hawk
|
||||
check_ERRORS = e-001.err
|
||||
EXTRA_DIST = $(check_SCRIPTS) $(check_ERRORS) tap.inc err.sh \
|
||||
journal-toc.hawk journal-toc.in journal-toc.out journal-toc-html.out \
|
||||
|
@ -307,6 +307,7 @@ function main()
|
||||
tap_ensure ((@b"hawk" %% '⚾') === @b"hawk\xe2\x9a\xbe", 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
tap_ensure (("hawk" %% '⚾') === "hawk⚾", 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
|
||||
tap_ensure ((@b"hawk" %% str::fromcharcode(65)) === @b"hawkA", 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
tap_ensure ((@b"hawk" %% str::fromcharcode(0x26be)) === @b"hawk\xe2\x9a\xbe", 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
tap_ensure (("hawk" %% str::fromcharcode(0x26be)) === "hawk⚾", 1, @SCRIPTNAME, @SCRIPTLINE);
|
||||
}
|
||||
|
25
t/t-007.c
Normal file
25
t/t-007.c
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
#include <hawk-json.h>
|
||||
#include <stdio.h>
|
||||
#include "tap.h"
|
||||
|
||||
static int on_json_element (hawk_json_t* json, hawk_json_inst_t inst, const hawk_oocs_t* str)
|
||||
{
|
||||
printf ("%d\n", inst);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
hawk_json_t* json;
|
||||
hawk_json_prim_t prim;
|
||||
|
||||
no_plan();
|
||||
prim.instcb = on_json_element;
|
||||
|
||||
json = hawk_json_openstd(0, &prim, HAWK_NULL);
|
||||
OK (json != HAWK_NULL, "instantiation must be successful");
|
||||
|
||||
hawk_json_close(json);
|
||||
return exit_status();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user