--- libs/icu/icu-51.1/source/i18n/decNumber.h +++ libs/icu/icu-51.1/source/i18n/decNumber.h 2010-11-16 10:35:02.000000000 +0000 @@ -54,26 +54,30 @@ /* For ICU, use one digit per byte, to make it easier to emulate the * old DigitList interface on top of a decNumber */ - #define DECDPUN 1 /* DECimal Digits Per UNit [must be >0 */ + #define DECDPUN 3 /* DECimal Digits Per UNit [must be >0 */ /* and <10; 3 or powers of 2 are best]. */ - /* DECNUMDIGITS is the default number of digits that can be held in */ - /* the structure. If undefined, 1 is assumed and it is assumed */ - /* that the structure will be immediately followed by extra space, */ - /* as required. DECNUMDIGITS is always >0. */ - #if !defined(DECNUMDIGITS) - #define DECNUMDIGITS 1 - #endif - /* The size (integer data type) of each unit is determined by the */ /* number of digits it will hold. */ #if DECDPUN<=2 #define decNumberUnit uint8_t + #define DECNUMDIGITS 3 #elif DECDPUN<=4 #define decNumberUnit uint16_t + #define DECNUMDIGITS 2 #else #define decNumberUnit uint32_t + #define DECNUMDIGITS 1 #endif + + /* DECNUMDIGITS is the default number of digits that can be held in */ + /* the structure. If undefined, 1 is assumed and it is assumed */ + /* that the structure will be immediately followed by extra space, */ + /* as required. DECNUMDIGITS is always >0. */ + #if !defined(DECNUMDIGITS) + #define DECNUMDIGITS 1 + #endif + /* The number of units needed is ceil(DECNUMDIGITS/DECDPUN) */ #define DECNUMUNITS ((DECNUMDIGITS+DECDPUN-1)/DECDPUN) --- libs/icu/icu-51.1/source/tools/pkgdata/pkgdata.cpp +++ libs/icu/icu-51.1/source/pkgdata/pkgdata.cpp 2012-04-13 17:09:26.690772599 +0200 @@ -1917,9 +1917,9 @@ static void loadLists(UPKGOptions *o, UE findDirname(progname, cmdBuf, 1024, &status); if(U_SUCCESS(status)) { if (cmdBuf[0] != 0) { - uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024); + uprv_strncat(cmdBuf, U_FILE_SEP_STRING, strlen(U_FILE_SEP_STRING)); } - uprv_strncat(cmdBuf, cmd, 1024); + uprv_strncat(cmdBuf, cmd, strlen(cmd)); if(verbose) { fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf); --- libs/teckit/TECkit-2.5.3/source/Compiler.cpp +++ libs/teckit/TECkit-2.5.3/source/Compiler.cpp 2009-08-28 15:16:33.000000000 +0000 @@ -1451,13 +1451,16 @@ Compiler::Compiler(const char* txt, UInt if (dest != 0) { int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION); if (result == Z_OK) { - destLen += 8; - dest = (Byte*)realloc(dest, destLen); // shrink dest to fit - WRITE(((FileHeader*)dest)->type, kMagicNumberCmp); - WRITE(((FileHeader*)dest)->version, compiledSize); - free(compiledTable); - compiledTable = dest; - compiledSize = destLen; + if ((dest = (Byte*)realloc(dest, destLen+8)) != NULL) { + destLen += 8; + WRITE(((FileHeader*)dest)->type, kMagicNumberCmp); + WRITE(((FileHeader*)dest)->version, compiledSize); + free(compiledTable); + compiledTable = dest; + compiledSize = destLen; + } + else + free(dest); } else free(dest); --- texk/makeindexk/genind.h +++ texk/makeindexk/genind.h 2009-08-28 15:18:03.000000000 +0000 @@ -25,6 +25,20 @@ * */ +#ifndef __has_idx_printf +#define __has_idx_printf +#include +static __inline__ int idx_printf(FILE *stream, const char *format, ...) +{ + int ret; + va_list ap; + va_start(ap, format); + ret = vfprintf(stream, format, ap); + va_end(ap); + return ret; +} +#endif + #define IND_ERROR(F) { \ if (idx_dot) { \ fprintf(ilg_fp, "\n"); \ @@ -45,7 +59,7 @@ fprintf(ilg_fp, \ "## Warning (input = %s, line = %d; output = %s, line = %d):\n -- ", \ curr->fn, curr->lc, ind_fn, ind_lc+1); \ - fprintf(ilg_fp, F, D); \ + idx_printf(ilg_fp, F, D); \ ind_ec++; \ } --- texk/makeindexk/mkind.h +++ texk/makeindexk/mkind.h 2009-08-28 15:20:13.000000000 +0000 @@ -245,6 +245,20 @@ extern int mk_getc (FILE *str); #define STREQ(A, B) (strcmp(A, B) == 0) #define STRNEQ(A, B) (strcmp(A, B) != 0) +#ifndef __has_idx_printf +#define __has_idx_printf +#include +static __inline__ int idx_printf(FILE *stream, const char *format, ...) +{ + int ret; + va_list ap; + va_start(ap, format); + ret = vfprintf(stream, format, ap); + va_end(ap); + return ret; +} +#endif + #define MESSAGE(F) { \ if (verbose) \ fprintf(stderr, F); \ @@ -253,8 +267,8 @@ extern int mk_getc (FILE *str); #define MESSAGE1(F, S) { \ if (verbose) \ - fprintf(stderr, F, S); \ - fprintf(ilg_fp, F, S); \ + idx_printf(stderr, F, S); \ + idx_printf(ilg_fp, F, S); \ } #if USE_KPATHSEA /* kpathsea defines a different FATAL */ @@ -272,7 +286,7 @@ extern int mk_getc (FILE *str); #endif #define FATAL1(F, S) { \ - fprintf(stderr, F, S); \ + idx_printf(stderr, F, S); \ fprintf(stderr, USAGE, pgm_fn); \ EXIT(1); \ } --- texk/makeindexk/scanid.h +++ texk/makeindexk/scanid.h 2009-08-28 15:21:10.000000000 +0000 @@ -112,6 +112,20 @@ idx_ec++; \ } +#ifndef __has_idx_printf +#define __has_idx_printf +#include +static __inline__ int idx_printf(FILE *stream, const char *format, ...) +{ + int ret; + va_list ap; + va_start(ap, format); + ret = vfprintf(stream, format, ap); + va_end(ap); + return ret; +} +#endif + #define IDX_ERROR1(F, D) { \ if (idx_dot) { \ fprintf(ilg_fp, "\n"); \ @@ -119,7 +133,7 @@ } \ fprintf(ilg_fp, "!! Input index error (file = %s, line = %d):\n -- ", \ idx_fn, idx_lc); \ - fprintf(ilg_fp, F, D); \ + idx_printf(ilg_fp, F, D); \ idx_ec++; \ } --- texk/makeindexk/scanst.h +++ texk/makeindexk/scanst.h 2009-08-28 15:21:39.000000000 +0000 @@ -157,6 +157,20 @@ put_dot = FALSE; \ } +#ifndef __has_idx_printf +#define __has_idx_printf +#include +static __inline__ int idx_printf(FILE *stream, const char *format, ...) +{ + int ret; + va_list ap; + va_start(ap, format); + ret = vfprintf(stream, format, ap); + va_end(ap); + return ret; +} +#endif + #define STY_ERROR1(F, D) { \ if (idx_dot) { \ fprintf(ilg_fp, "\n"); \ @@ -164,7 +178,7 @@ } \ fprintf(ilg_fp, "** Input style error (file = %s, line = %d):\n -- ", \ sty_fn, sty_lc); \ - fprintf(ilg_fp, F, D); \ + idx_printf(ilg_fp, F, D); \ sty_ec++; \ put_dot = FALSE; \ } --- texk/ps2pkm/t1funcs.c +++ texk/ps2pkm/t1funcs.c 2010-05-18 09:19:07.000000000 +0000 @@ -242,7 +242,7 @@ int Type1OpenScalable (ev, ppFont, flags else { h = w = 0; area->xmin = area->xmax = 0; - area->ymax = area->ymax = 0; + area->ymin = area->ymax = 0; } glyphs[i].metrics.leftSideBearing = area->xmin; --- texk/ps2pkm/token.c +++ texk/ps2pkm/token.c 2009-08-28 15:16:33.000000000 +0000 @@ -108,7 +108,7 @@ static DOUBLE P10(exponent) if (exponent < 0) { power = 0.1; value = (exponent & 1 ? power : 1.0); - exponent = -(++exponent >> 1); /* portable C for -(exponent/2) */ + exponent = -((exponent+1) >> 1); /* portable C for -(exponent/2) */ } else { power = 10.0;