X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Falloc_entry.c;h=9d70634e9c0c6b2d2cfe2756df0006d6abdddf48;hp=4638e99c4d58d8eb5a152177e900907f6a5c55bb;hb=a108bc76f220a81a223a5c25f59195af60452128;hpb=11ca5f62994c7a14c4e500510bd242e1e721f8be diff --git a/ncurses/tinfo/alloc_entry.c b/ncurses/tinfo/alloc_entry.c index 4638e99c..9d70634e 100644 --- a/ncurses/tinfo/alloc_entry.c +++ b/ncurses/tinfo/alloc_entry.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. * + * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -46,9 +46,8 @@ #include #include -#include -MODULE_ID("$Id: alloc_entry.c,v 1.48 2008/08/16 16:25:31 tom Exp $") +MODULE_ID("$Id: alloc_entry.c,v 1.52 2011/10/22 16:34:50 tom Exp $") #define ABSENT_OFFSET -1 #define CANCELLED_OFFSET -2 @@ -65,14 +64,16 @@ _nc_init_entry(TERMTYPE *const tp) unsigned i; #if NO_LEAKS - if (tp == 0 && stringbuf != 0) { - FreeAndNull(stringbuf); + if (tp == 0) { + if (stringbuf != 0) { + FreeAndNull(stringbuf); + } return; } #endif if (stringbuf == 0) - stringbuf = (char *) malloc(MAX_STRTAB); + stringbuf = (char *) malloc((size_t) MAX_STRTAB); #if NCURSES_XNAMES tp->num_Booleans = BOOLCOUNT; @@ -181,7 +182,7 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings) } else if (tp->Strings[i] == CANCELLED_STRING) { offsets[i] = CANCELLED_OFFSET; } else { - offsets[i] = tp->Strings[i] - stringbuf; + offsets[i] = (int) (tp->Strings[i] - stringbuf); } } } @@ -190,7 +191,7 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings) if (ep->uses[i].name == 0) useoffsets[i] = ABSENT_OFFSET; else - useoffsets[i] = ep->uses[i].name - stringbuf; + useoffsets[i] = (int) (ep->uses[i].name - stringbuf); } if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0) @@ -214,10 +215,10 @@ _nc_wrap_entry(ENTRY * const ep, bool copy_strings) if (!copy_strings) { if ((n = (unsigned) NUM_EXT_NAMES(tp)) != 0) { if (n < SIZEOF(offsets)) { - unsigned length = 0; + size_t length = 0; for (i = 0; i < n; i++) { length += strlen(tp->ext_Names[i]) + 1; - offsets[i] = tp->ext_Names[i] - stringbuf; + offsets[i] = (int) (tp->ext_Names[i] - stringbuf); } if ((tp->ext_str_table = typeMalloc(char, length)) == 0) _nc_err_abort(MSG_NO_MEMORY);