X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Falloc_ttype.c;h=b02cb9c6010e0c26015d7cc2cded446bd9ba4ef4;hp=afe74e1a01a088fe360df9822bbc787a1bb2c36e;hb=b9cd971c38eeeb2394d3da08edfd3c5dfc71694e;hpb=11dead39816318fe9601e27756b9497caf7ff490 diff --git a/ncurses/tinfo/alloc_ttype.c b/ncurses/tinfo/alloc_ttype.c index afe74e1a..b02cb9c6 100644 --- a/ncurses/tinfo/alloc_ttype.c +++ b/ncurses/tinfo/alloc_ttype.c @@ -42,7 +42,7 @@ #include -MODULE_ID("$Id: alloc_ttype.c,v 1.20 2010/04/24 23:49:43 tom Exp $") +MODULE_ID("$Id: alloc_ttype.c,v 1.22 2010/12/19 00:24:09 tom Exp $") #if NCURSES_XNAMES /* @@ -90,6 +90,9 @@ find_name(char **table, int length, char *name) return FALSE; } +#define EXTEND_NUM(num, ext) \ + to->num = (unsigned short) (to->num + (ext - to->ext)) + static void realign_data(TERMTYPE *to, char **ext_Names, int ext_Booleans, @@ -100,7 +103,7 @@ realign_data(TERMTYPE *to, char **ext_Names, int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings); if (to->ext_Booleans != ext_Booleans) { - to->num_Booleans += (ext_Booleans - to->ext_Booleans); + EXTEND_NUM(num_Booleans, ext_Booleans); to->Booleans = typeRealloc(NCURSES_SBOOL, to->num_Booleans, to->Booleans); for (n = to->ext_Booleans - 1, m = ext_Booleans - 1, @@ -114,7 +117,7 @@ realign_data(TERMTYPE *to, char **ext_Names, to->ext_Booleans = UShort(ext_Booleans); } if (to->ext_Numbers != ext_Numbers) { - to->num_Numbers += (ext_Numbers - to->ext_Numbers); + EXTEND_NUM(num_Numbers, ext_Numbers); to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers); for (n = to->ext_Numbers - 1, m = ext_Numbers - 1, @@ -128,7 +131,7 @@ realign_data(TERMTYPE *to, char **ext_Names, to->ext_Numbers = UShort(ext_Numbers); } if (to->ext_Strings != ext_Strings) { - to->num_Strings += (ext_Strings - to->ext_Strings); + EXTEND_NUM(num_Strings, ext_Strings); to->Strings = typeRealloc(char *, to->num_Strings, to->Strings); for (n = to->ext_Strings - 1, m = ext_Strings - 1, @@ -347,7 +350,7 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from) int j_str = to->num_Strings - first - to->ext_Strings; if (to->Strings[j + j_str] == CANCELLED_STRING) { - if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) { + if (_nc_find_ext_name(from, to->ext_Names[j], BOOLEAN) >= 0) { if (_nc_del_ext_name(to, name, STRING) || _nc_del_ext_name(to, name, NUMBER)) { k = _nc_ins_ext_name(to, name, BOOLEAN); @@ -355,8 +358,7 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from) } else { j++; } - } else if ((k = _nc_find_ext_name(from, to->ext_Names[j], - NUMBER)) >= 0) { + } else if (_nc_find_ext_name(from, to->ext_Names[j], NUMBER) >= 0) { if (_nc_del_ext_name(to, name, STRING) || _nc_del_ext_name(to, name, BOOLEAN)) { k = _nc_ins_ext_name(to, name, NUMBER); @@ -364,8 +366,7 @@ adjust_cancels(TERMTYPE *to, TERMTYPE *from) } else { j++; } - } else if ((k = _nc_find_ext_name(from, to->ext_Names[j], - STRING)) >= 0) { + } else if (_nc_find_ext_name(from, to->ext_Names[j], STRING) >= 0) { if (_nc_del_ext_name(to, name, NUMBER) || _nc_del_ext_name(to, name, BOOLEAN)) { k = _nc_ins_ext_name(to, name, STRING);