X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=form%2Ffty_num.c;h=9eafaecb726cd39cc5abc92d75c7369016317e98;hb=1b93a8aeaacc07de6d2aa08e658402b54446f064;hp=4bd71321d66acf67cfd4b4fd4d20e8ab2362d67a;hpb=c6540b9c89dda1a6a8bd681726831e8924176504;p=ncurses.git diff --git a/form/fty_num.c b/form/fty_num.c index 4bd71321..9eafaecb 100644 --- a/form/fty_num.c +++ b/form/fty_num.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. * + * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 1998-2010,2012 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 * @@ -34,13 +35,13 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_num.c,v 1.28 2010/01/23 21:14:36 tom Exp $") +MODULE_ID("$Id: fty_num.c,v 1.36 2020/12/12 01:15:37 tom Exp $") #if HAVE_LOCALE_H #include #endif -#if HAVE_LOCALE_H +#if HAVE_LOCALE_H && HAVE_LOCALECONV #define isDecimalPoint(c) ((c) == ((L && L->decimal_point) ? *(L->decimal_point) : '.')) #else #define isDecimalPoint(c) ((c) == '.') @@ -82,8 +83,8 @@ thisPARM; static void * Generic_This_Type(void *arg) { - thisARG *argn = (thisARG *) 0; - thisPARM *args = (thisPARM *) arg; + thisARG *argn = (thisARG *)0; + thisPARM *args = (thisPARM *)arg; if (args) { @@ -96,7 +97,7 @@ Generic_This_Type(void *arg) argn->low = args->low; argn->high = args->high; -#if HAVE_LOCALE_H +#if HAVE_LOCALE_H && HAVE_LOCALECONV argn->L = localeconv(); #else argn->L = NULL; @@ -138,11 +139,12 @@ static void * Copy_This_Type(const void *argp) { const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) 0; + thisARG *result = (thisARG *)0; if (argp) { result = typeMalloc(thisARG, 1); + if (result) { T((T_CREATE("thisARG %p"), (void *)result)); @@ -271,7 +273,8 @@ Check_This_Field(FIELD *field, const void *argp) } if (result) { - sprintf(buf, "%.*f", (prec > 0 ? prec : 0), val); + _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) + "%.*f", (prec > 0 ? prec : 0), val); set_field_buffer(field, 0, buf); } } @@ -322,14 +325,14 @@ static FIELDTYPE typeTHIS = #endif }; -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeTHIS; +FORM_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC = &typeTHIS; #if NCURSES_INTEROP_FUNCS /* The next routines are to simplify the use of ncurses from - programming languages with restictions on interop with C level + programming languages with restrictions on interop with C level constructs (e.g. variable access or va_list + ellipsis constructs) */ -NCURSES_EXPORT(FIELDTYPE *) +FORM_EXPORT(FIELDTYPE *) _nc_TYPE_NUMERIC(void) { return TYPE_NUMERIC;