*** empty log message ***
This commit is contained in:
parent
8c4383a64f
commit
89e66ed7aa
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: jni.c,v 1.67 2007-02-23 08:17:49 bacon Exp $
|
* $Id: jni.c,v 1.68 2007-02-23 08:28:39 bacon Exp $
|
||||||
*
|
*
|
||||||
* {License}
|
* {License}
|
||||||
*/
|
*/
|
||||||
@ -16,17 +16,14 @@
|
|||||||
#include <ase/awk/awk.h>
|
#include <ase/awk/awk.h>
|
||||||
#include <ase/awk/val.h>
|
#include <ase/awk/val.h>
|
||||||
|
|
||||||
#include "../etc/printf.c"
|
#include <ase/utl/stdio.h>
|
||||||
|
#include <ase/utl/ctype.h>
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#define snprintf _snprintf
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ASE_CHAR_IS_WCHAR
|
#ifndef ASE_CHAR_IS_WCHAR
|
||||||
#error this module supports ASE_CHAR_IS_WCHAR only
|
#error this module supports ASE_CHAR_IS_WCHAR only
|
||||||
#endif
|
#endif
|
||||||
@ -99,17 +96,17 @@ struct run_data_t
|
|||||||
jmethodID double_value;
|
jmethodID double_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void* awk_malloc (ase_size_t n, void* custom_data)
|
static void* awk_malloc (ase_mmgr_t* mmgr, ase_size_t n)
|
||||||
{
|
{
|
||||||
return malloc (n);
|
return malloc (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void* awk_realloc (void* ptr, ase_size_t n, void* custom_data)
|
static void* awk_realloc (ase_mmgr_t* mmgr, void* ptr, ase_size_t n)
|
||||||
{
|
{
|
||||||
return realloc (ptr, n);
|
return realloc (ptr, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void awk_free (void* ptr, void* custom_data)
|
static void awk_free (ase_mmgr_t* mmgr, void* ptr)
|
||||||
{
|
{
|
||||||
free (ptr);
|
free (ptr);
|
||||||
}
|
}
|
||||||
@ -124,26 +121,6 @@ static void awk_abort (void* custom_data)
|
|||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int awk_sprintf (
|
|
||||||
ase_char_t* buf, ase_size_t len, const ase_char_t* fmt, ...)
|
|
||||||
{
|
|
||||||
int n;
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start (ap, fmt);
|
|
||||||
n = ase_vsprintf (buf, len, fmt, ap);
|
|
||||||
va_end (ap);
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void awk_aprintf (const ase_char_t* fmt, ...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
va_start (ap, fmt);
|
|
||||||
ase_vprintf (fmt, ap);
|
|
||||||
va_end (ap);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void awk_dprintf (const ase_char_t* fmt, ...)
|
static void awk_dprintf (const ase_char_t* fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
@ -246,31 +223,33 @@ JNIEXPORT void JNICALL Java_ase_awk_Awk_open (JNIEnv* env, jobject obj)
|
|||||||
int opt, errnum;
|
int opt, errnum;
|
||||||
|
|
||||||
memset (&prmfns, 0, sizeof(prmfns));
|
memset (&prmfns, 0, sizeof(prmfns));
|
||||||
prmfns.malloc = awk_malloc;
|
|
||||||
prmfns.realloc = awk_realloc;
|
|
||||||
prmfns.free = awk_free;
|
|
||||||
|
|
||||||
prmfns.is_upper = iswupper;
|
prmfns.mmgr.malloc = awk_malloc;
|
||||||
prmfns.is_lower = iswlower;
|
prmfns.mmgr.realloc = awk_realloc;
|
||||||
prmfns.is_alpha = iswalpha;
|
prmfns.mmgr.free = awk_free;
|
||||||
prmfns.is_digit = iswdigit;
|
prmfns.mmgr.custom_data = NULL;
|
||||||
prmfns.is_xdigit = iswxdigit;
|
|
||||||
prmfns.is_alnum = iswalnum;
|
|
||||||
prmfns.is_space = iswspace;
|
|
||||||
prmfns.is_print = iswprint;
|
|
||||||
prmfns.is_graph = iswgraph;
|
|
||||||
prmfns.is_cntrl = iswcntrl;
|
|
||||||
prmfns.is_punct = iswpunct;
|
|
||||||
prmfns.to_upper = towupper;
|
|
||||||
prmfns.to_lower = towlower;
|
|
||||||
|
|
||||||
prmfns.memcpy = memcpy;
|
prmfns.ccls.is_upper = ase_isupper;
|
||||||
prmfns.memset = memset;
|
prmfns.ccls.is_lower = ase_islower;
|
||||||
prmfns.pow = awk_pow;
|
prmfns.ccls.is_alpha = ase_isalpha;
|
||||||
prmfns.sprintf = awk_sprintf;
|
prmfns.ccls.is_digit = ase_isdigit;
|
||||||
prmfns.aprintf = awk_aprintf;
|
prmfns.ccls.is_xdigit = ase_isxdigit;
|
||||||
prmfns.dprintf = awk_dprintf;
|
prmfns.ccls.is_alnum = ase_isalnum;
|
||||||
prmfns.abort = awk_abort;
|
prmfns.ccls.is_space = ase_isspace;
|
||||||
|
prmfns.ccls.is_print = ase_isprint;
|
||||||
|
prmfns.ccls.is_graph = ase_isgraph;
|
||||||
|
prmfns.ccls.is_cntrl = ase_iscntrl;
|
||||||
|
prmfns.ccls.is_punct = ase_ispunct;
|
||||||
|
prmfns.ccls.to_upper = ase_toupper;
|
||||||
|
prmfns.ccls.to_lower = ase_tolower;
|
||||||
|
prmfns.ccls.custom_data = NULL;
|
||||||
|
|
||||||
|
prmfns.misc.pow = awk_pow;
|
||||||
|
prmfns.misc.sprintf = ase_sprintf;
|
||||||
|
prmfns.misc.aprintf = ase_printf;
|
||||||
|
prmfns.misc.dprintf = awk_dprintf;
|
||||||
|
prmfns.misc.abort = awk_abort;
|
||||||
|
prmfns.misc.custom_data = NULL;
|
||||||
|
|
||||||
awk_data = (awk_data_t*) malloc (sizeof(awk_data_t));
|
awk_data = (awk_data_t*) malloc (sizeof(awk_data_t));
|
||||||
if (awk_data == NULL)
|
if (awk_data == NULL)
|
||||||
@ -1365,7 +1344,7 @@ static int __handle_bfn (
|
|||||||
env = run_data->env;
|
env = run_data->env;
|
||||||
obj = run_data->obj;
|
obj = run_data->obj;
|
||||||
|
|
||||||
awk_sprintf (
|
ase_sprintf (
|
||||||
msg_nomem, ASE_COUNTOF(msg_nomem),
|
msg_nomem, ASE_COUNTOF(msg_nomem),
|
||||||
ASE_T("out of memory in handling %.*s"),
|
ASE_T("out of memory in handling %.*s"),
|
||||||
fnl, fnm);
|
fnl, fnm);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SUBDIRS=cmn awk lsp utl
|
SUBDIRS=cmn utl awk lsp
|
||||||
|
|
||||||
all:
|
all:
|
||||||
@for i in $(SUBDIRS); \
|
@for i in $(SUBDIRS); \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: awk.c,v 1.175 2007-02-23 08:17:51 bacon Exp $
|
* $Id: awk.c,v 1.176 2007-02-23 08:21:35 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ase/awk/awk.h>
|
#include <ase/awk/awk.h>
|
||||||
@ -755,6 +755,18 @@ static int awk_main (int argc, ase_char_t* argv[])
|
|||||||
prmfns.mmgr.malloc = awk_malloc;
|
prmfns.mmgr.malloc = awk_malloc;
|
||||||
prmfns.mmgr.realloc = awk_realloc;
|
prmfns.mmgr.realloc = awk_realloc;
|
||||||
prmfns.mmgr.free = awk_free;
|
prmfns.mmgr.free = awk_free;
|
||||||
|
#ifdef _WIN32
|
||||||
|
prmfns_data.heap = HeapCreate (0, 1000000, 1000000);
|
||||||
|
if (prmfns_data.heap == NULL)
|
||||||
|
{
|
||||||
|
ase_printf (ASE_T("Error: cannot create an awk heap\n"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
prmfns.mmgr.custom_data = &prmfns_data;
|
||||||
|
#else
|
||||||
|
prmfns.mmgr.custom_data = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
prmfns.ccls.is_upper = ase_isupper;
|
prmfns.ccls.is_upper = ase_isupper;
|
||||||
prmfns.ccls.is_lower = ase_islower;
|
prmfns.ccls.is_lower = ase_islower;
|
||||||
@ -769,6 +781,7 @@ static int awk_main (int argc, ase_char_t* argv[])
|
|||||||
prmfns.ccls.is_punct = ase_ispunct;
|
prmfns.ccls.is_punct = ase_ispunct;
|
||||||
prmfns.ccls.to_upper = ase_toupper;
|
prmfns.ccls.to_upper = ase_toupper;
|
||||||
prmfns.ccls.to_lower = ase_tolower;
|
prmfns.ccls.to_lower = ase_tolower;
|
||||||
|
prmfns.ccls.custom_data = NULL;
|
||||||
|
|
||||||
prmfns.misc.pow = awk_pow;
|
prmfns.misc.pow = awk_pow;
|
||||||
prmfns.misc.sprintf = ase_sprintf;
|
prmfns.misc.sprintf = ase_sprintf;
|
||||||
@ -777,17 +790,7 @@ static int awk_main (int argc, ase_char_t* argv[])
|
|||||||
prmfns.misc.abort = awk_abort;
|
prmfns.misc.abort = awk_abort;
|
||||||
prmfns.misc.lock = NULL;
|
prmfns.misc.lock = NULL;
|
||||||
prmfns.misc.unlock = NULL;
|
prmfns.misc.unlock = NULL;
|
||||||
|
prmfns.misc.custom_data = NULL;
|
||||||
#ifdef _WIN32
|
|
||||||
prmfns_data.heap = HeapCreate (0, 1000000, 1000000);
|
|
||||||
if (prmfns_data.heap == NULL)
|
|
||||||
{
|
|
||||||
ase_printf (ASE_T("Error: cannot create an awk heap\n"));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
prmfns.mmgr.custom_data = &prmfns_data;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ((awk = ase_awk_open(&prmfns, ASE_NULL, &errnum)) == ASE_NULL)
|
if ((awk = ase_awk_open(&prmfns, ASE_NULL, &errnum)) == ASE_NULL)
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@ OBJS = $(SRCS:.c=.o)
|
|||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CFLAGS = @CFLAGS@ -I@abs_top_builddir@/..
|
CFLAGS = @CFLAGS@ -I@abs_top_builddir@/..
|
||||||
LDFLAGS = @LDFLAGS@ -L@abs_top_builddir@/awk -L@abs_top_builddir@/utl
|
LDFLAGS = @LDFLAGS@ -L@abs_top_builddir@/cmn -L@abs_top_builddir@/awk -L@abs_top_builddir@/utl
|
||||||
LIBS = @LIBS@ -laseawk -laseutl -lm
|
LIBS = @LIBS@ -lasecmn -laseawk -laseutl -lm
|
||||||
|
|
||||||
all: aseawk
|
all: aseawk
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: types.h,v 1.72 2007-02-23 08:17:48 bacon Exp $
|
* $Id: types.h,v 1.73 2007-02-23 08:22:35 bacon Exp $
|
||||||
*
|
*
|
||||||
* {License}
|
* {License}
|
||||||
*/
|
*/
|
||||||
@ -230,7 +230,6 @@ typedef int ase_mcint_t;
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct ase_cstr_t ase_cstr_t;
|
|
||||||
typedef struct ase_mmgr_t ase_mmgr_t;
|
typedef struct ase_mmgr_t ase_mmgr_t;
|
||||||
typedef struct ase_ccls_t ase_ccls_t;
|
typedef struct ase_ccls_t ase_ccls_t;
|
||||||
|
|
||||||
@ -241,12 +240,6 @@ typedef void (*ase_free_t) (ase_mmgr_t* mmgr, void* ptr);
|
|||||||
typedef ase_bool_t (*ase_isccls_t) (ase_ccls_t* ccls, ase_cint_t c);
|
typedef ase_bool_t (*ase_isccls_t) (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
typedef ase_cint_t (*ase_toccls_t) (ase_ccls_t* ccls, ase_cint_t c);
|
typedef ase_cint_t (*ase_toccls_t) (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
|
|
||||||
struct ase_cstr_t
|
|
||||||
{
|
|
||||||
ase_char_t* ptr;
|
|
||||||
ase_size_t len;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ase_mmgr_t
|
struct ase_mmgr_t
|
||||||
{
|
{
|
||||||
ase_malloc_t malloc;
|
ase_malloc_t malloc;
|
||||||
|
160
ase/utl/ctype.c
160
ase/utl/ctype.c
@ -1,27 +1,149 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: ctype.c,v 1.1 2007-02-20 14:47:33 bacon Exp $
|
* $Id: ctype.c,v 1.2 2007-02-23 08:17:51 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ase/utl/ctype.h>
|
#include <ase/utl/ctype.h>
|
||||||
|
|
||||||
#if defined(ASE_CHAR_IS_MCHAR) && defined(isupper)
|
#if defined(ASE_CHAR_IS_MCHAR)
|
||||||
|
|
||||||
int ase_isupper (int c) { return isupper (c); }
|
#include <ctype.h>
|
||||||
int ase_islower (int c) { return islower (c); }
|
|
||||||
int ase_isalpha (int c) { return isalpha (c); }
|
ase_bool_t ase_isupper (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
int ase_isdigit (int c) { return isdigit (c); }
|
{
|
||||||
int ase_isxdigit (int c) { return isxdigit (c); }
|
return isupper (c);
|
||||||
int ase_isalnum (int c) { return isalnum (c); }
|
}
|
||||||
int ase_isspace (int c) { return isspace (c); }
|
|
||||||
int ase_isprint (int c) { return isprint (c); }
|
ase_bool_t ase_islower (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
int ase_isgraph (int c) { return isgraph (c); }
|
{
|
||||||
int ase_iscntrl (int c) { return iscntrl (c); }
|
return islower (c);
|
||||||
int ase_ispunct (int c) { return ispunct (c); }
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isalpha (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isalpha (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isdigit (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isdigit (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isxdigit (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isxdigit (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isalnum (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isalnum (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isspace (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isspace (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isprint (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isprint (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isgraph (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return isgraph (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_iscntrl (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iscntrl (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_ispunct (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return ispunct (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_cint_t ase_toupper (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return toupper (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_cint_t ase_tolower (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return tolower (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(ASE_CHAR_IS_WCHAR)
|
||||||
|
|
||||||
|
#include <wctype.h>
|
||||||
|
|
||||||
|
ase_bool_t ase_isupper (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswupper (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_islower (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswlower (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isalpha (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswalpha (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isdigit (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswdigit (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isxdigit (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswxdigit (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isalnum (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswalnum (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isspace (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswspace (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isprint (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswprint (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_isgraph (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswgraph (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_iscntrl (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswcntrl (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_bool_t ase_ispunct (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return iswpunct (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_cint_t ase_toupper (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return towupper (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
ase_cint_t ase_tolower (ase_ccls_t* ccls, ase_cint_t c)
|
||||||
|
{
|
||||||
|
return towlower (c);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#error unsupported character type
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ASE_CHAR_IS_MCHAR) && defined(toupper)
|
|
||||||
int ase_toupper (int c) { return toupper (c); }
|
|
||||||
int ase_tolower (int c) { return tolower (c); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
@ -8,69 +8,24 @@
|
|||||||
#include <ase/types.h>
|
#include <ase/types.h>
|
||||||
#include <ase/macros.h>
|
#include <ase/macros.h>
|
||||||
|
|
||||||
#if defined(ASE_CHAR_IS_MCHAR)
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#if !defined(isupper)
|
|
||||||
#define ase_isupper isupper
|
|
||||||
#define ase_islower islower
|
|
||||||
#define ase_isalpha isalpha
|
|
||||||
#define ase_isdigit isdigit
|
|
||||||
#define ase_isxdigit isxdigit
|
|
||||||
#define ase_isalnum isalnum
|
|
||||||
#define ase_isspace isspace
|
|
||||||
#define ase_isprint isprint
|
|
||||||
#define ase_isgraph isgraph
|
|
||||||
#define ase_iscntrl iscntrl
|
|
||||||
#define ase_ispunct ispunct
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(toupper)
|
|
||||||
#define ase_toupper toupper
|
|
||||||
#define ase_tolower tolower
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
#include <wctype.h>
|
|
||||||
|
|
||||||
#define ase_isupper iswupper
|
|
||||||
#define ase_islower iswlower
|
|
||||||
#define ase_isalpha iswalpha
|
|
||||||
#define ase_isdigit iswdigit
|
|
||||||
#define ase_isxdigit iswxdigit
|
|
||||||
#define ase_isalnum iswalnum
|
|
||||||
#define ase_isspace iswspace
|
|
||||||
#define ase_isprint iswprint
|
|
||||||
#define ase_isgraph iswgraph
|
|
||||||
#define ase_iscntrl iswcntrl
|
|
||||||
#define ase_ispunct iswpunct
|
|
||||||
|
|
||||||
#define ase_toupper towupper
|
|
||||||
#define ase_tolower towlower
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(ASE_CHAR_IS_MCHAR) && defined(isupper)
|
ase_bool_t ase_isupper (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isupper (int c);
|
ase_bool_t ase_islower (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_islower (int c);
|
ase_bool_t ase_isalpha (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isalpha (int c);
|
ase_bool_t ase_isdigit (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isdigit (int c);
|
ase_bool_t ase_isxdigit (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isxdigit (int c);
|
ase_bool_t ase_isalnum (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isalnum (int c);
|
ase_bool_t ase_isspace (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isspace (int c);
|
ase_bool_t ase_isprint (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isprint (int c);
|
ase_bool_t ase_isgraph (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_isgraph (int c);
|
ase_bool_t ase_iscntrl (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_iscntrl (int c);
|
ase_bool_t ase_ispunct (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_ispunct (int c);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(ASE_CHAR_IS_MCHAR) && defined(toupper)
|
ase_cint_t ase_toupper (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_toupper (int c);
|
ase_cint_t ase_tolower (ase_ccls_t* ccls, ase_cint_t c);
|
||||||
int ase_tolower (int c);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user