* Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>\r
* All rights reserved.\r
*\r
- * Copyright (c) 2015, Hewlett Packard Enterprise Development, L.P.<BR>\r
+ * (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
*\r
* Redistribution and use in source and binary forms, with or without\r
* modification, are permitted provided that the following conditions\r
key.s = (UChar* )str_key;\r
key.end = (UChar* )end_key;\r
\r
- return onig_st_lookup(table, (st_data_t )(&key), value);\r
+ return onig_st_lookup(table, (st_data_t )(UINTN)(&key), value);\r
}\r
\r
extern int\r
int result;\r
\r
key = (st_str_end_key* )xmalloc(sizeof(st_str_end_key));\r
+ CHECK_NULL_RETURN_MEMERR(key);\r
key->s = (UChar* )str_key;\r
key->end = (UChar* )end_key;\r
- result = onig_st_insert(table, (st_data_t )key, value);\r
+ result = onig_st_insert(table, (st_data_t )(UINTN)key, value);\r
if (result) {\r
xfree(key);\r
}\r
narg.reg = reg;\r
narg.arg = arg;\r
narg.enc = reg->enc; /* should be pattern encoding. */\r
- onig_st_foreach(t, i_names, (HashDataType )&narg);\r
+ onig_st_foreach(t, i_names, (HashDataType )(UINTN)&narg);\r
}\r
return narg.ret;\r
}\r
NameTable* t = (NameTable* )reg->name_table;\r
\r
if (IS_NOT_NULL(t)) {\r
- onig_st_foreach(t, i_renumber_name, (HashDataType )map);\r
+ onig_st_foreach(t, i_renumber_name, (HashDataType )(UINTN)map);\r
}\r
return 0;\r
}\r
#ifdef USE_ST_LIBRARY\r
if (IS_NULL(t)) {\r
t = onig_st_init_strend_table_with_size(5);\r
+ CHECK_NULL_RETURN_MEMERR(t);\r
reg->name_table = (void* )t;\r
}\r
e = (NameEntry* )xmalloc(sizeof(NameEntry));\r
xfree(e); return ONIGERR_MEMORY;\r
}\r
onig_st_insert_strend(t, e->name, (e->name + (name_end - name)),\r
- (HashDataType )e);\r
+ (HashDataType )(UINTN)e);\r
\r
e->name_len = (int)(name_end - name);\r
e->back_num = 0;\r
if (IS_NULL(env->mem_nodes_dynamic)) {\r
alloc = INIT_SCANENV_MEMNODES_ALLOC_SIZE;\r
p = (Node** )xmalloc(sizeof(Node*) * alloc);\r
+ CHECK_NULL_RETURN_MEMERR(p);\r
+ \r
xmemcpy(p, env->mem_nodes_static,\r
sizeof(Node*) * SCANENV_MEMNODES_SIZE);\r
}\r
node_new_str_raw(UChar* s, UChar* end)\r
{\r
Node* node = node_new_str(s, end);\r
+ CHECK_NULL_RETURN(node);\r
NSTRING_SET_RAW(node);\r
return node;\r
}\r
p = onigenc_get_prev_char_head(enc, sn->s, sn->end);\r
if (p && p > sn->s) { /* can be splitted. */\r
n = node_new_str(p, sn->end);\r
+ CHECK_NULL_RETURN(n);\r
if ((sn->flag & NSTR_RAW) != 0)\r
NSTRING_SET_RAW(n);\r
sn->end = (UChar* )p;\r
\r
switch(ReduceTypeTable[cnum][pnum]) {\r
case RQ_DEL:\r
- *pnode = *cnode;\r
+ CopyMem (pnode, cnode, sizeof (Node));\r
break;\r
case RQ_A:\r
p->target = c->target;\r
QtfrNode* qnt = NQTFR(target);\r
int nestq_num = popular_quantifier_num(qn);\r
int targetq_num = popular_quantifier_num(qnt);\r
+ if (nestq_num < 0 || targetq_num < 0) {\r
+ return ONIGERR_TYPE_BUG;\r
+ }\r
\r
#ifdef USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR\r
if (!IS_QUANTIFIER_BY_NUMBER(qn) && !IS_QUANTIFIER_BY_NUMBER(qnt) &&\r
}\r
}\r
else {\r
- if (onig_st_lookup(OnigTypeCClassTable, (st_data_t )&key,\r
+ if (onig_st_lookup(OnigTypeCClassTable, (st_data_t )(UINTN)&key,\r
(st_data_t* )np)) {\r
THREAD_ATOMIC_END;\r
break;\r
cc = NCCLASS(*np);\r
NCCLASS_SET_SHARE(cc);\r
new_key = (type_cclass_key* )xmalloc(sizeof(type_cclass_key));\r
+ CHECK_NULL_RETURN_MEMERR(new_key);\r
xmemcpy(new_key, &key, sizeof(type_cclass_key));\r
- onig_st_add_direct(OnigTypeCClassTable, (st_data_t )new_key,\r
- (st_data_t )*np);\r
+ onig_st_add_direct(OnigTypeCClassTable, (st_data_t )(UINTN)new_key,\r
+ (st_data_t )(UINTN)*np);\r
\r
THREAD_ATOMIC_END;\r
}\r
\r
case TK_ANCHOR:\r
*np = onig_node_new_anchor(tok->u.anchor);\r
+ CHECK_NULL_RETURN_MEMERR(*np);\r
break;\r
\r
case TK_OP_REPEAT:\r
return ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED;\r
else\r
*np = node_new_empty();\r
+ CHECK_NULL_RETURN_MEMERR(*np);\r
}\r
else {\r
goto tk_byte;\r
}\r
else {\r
*top = node_new_list(node, NULL);\r
+ CHECK_NULL_RETURN_MEMERR(*top);\r
headp = &(NCDR(*top));\r
while (r != TK_EOT && r != term && r != TK_ALT) {\r
r = parse_exp(&node, tok, term, src, end, env);\r
+ CHECK_NULL_RETURN_MEMERR(node);\r
if (r < 0) return r;\r
\r
if (NTYPE(node) == NT_LIST) {\r
}\r
else if (r == TK_ALT) {\r
*top = onig_node_new_alt(node, NULL);\r
+ CHECK_NULL_RETURN_MEMERR(*top);\r
headp = &(NCDR(*top));\r
while (r == TK_ALT) {\r
r = fetch_token(tok, src, end, env);\r