/****************************************************************************
- * 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 *
#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 <locale.h>
#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) == '.')
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)
{
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;
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));
}
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);
}
}
#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;