* are those of the authors and should not be interpreted as representing
* official policies, either expressed or implied, of the Jim Tcl Project.
**/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#define __JIM_CORE__
#define JIM_OPTIMIZATION /* comment to avoid optimizations and reduce size */
#ifdef __ECOS
#include <pkgconf/jimtcl.h>
-#endif
-#ifndef JIM_ANSIC
-#define JIM_DYNLIB /* Dynamic library support for UNIX and WIN32 */
-#endif /* JIM_ANSIC */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE /* for vasprintf() */
-#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <errno.h>
#include <time.h>
-#if defined(WIN32)
-/* sys/time - need is different */
-#else
-#include <sys/time.h> // for gettimeofday()
#endif
+#ifndef JIM_ANSIC
+#define JIM_DYNLIB /* Dynamic library support for UNIX and WIN32 */
+#endif /* JIM_ANSIC */
-#include "replacements.h"
+#include <stdarg.h>
+#include <limits.h>
/* Include the platform dependent libraries for
* dynamic loading of libraries. */
#endif /* WIN32 */
#endif /* JIM_DYNLIB */
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
#ifdef __ECOS
#include <cyg/jimtcl/jim.h>
#else
* Ignores `locale' stuff. Assumes that the upper and lower case
* alphabets and digits are each contiguous.
*/
-#ifdef HAVE_LONG_LONG
+#ifdef HAVE_LONG_LONG_INT
#define JimIsAscii(c) (((c) & ~0x7f) == 0)
static jim_wide JimStrtoll(const char *nptr, char **endptr, register int base)
{
{
char *endptr;
-#ifdef HAVE_LONG_LONG
+#ifdef HAVE_LONG_LONG_INT
*widePtr = JimStrtoll(str, &endptr, base);
#else
*widePtr = strtol(str, &endptr, base);
int Jim_DictKeysVector(Jim_Interp *interp, Jim_Obj *dictPtr,
Jim_Obj *const *keyv, int keyc, Jim_Obj **objPtrPtr, int flags)
{
- Jim_Obj *objPtr;
+ Jim_Obj *objPtr = NULL;
int i;
if (keyc == 0) {
scanned += 1;
break;
case 'd': case 'o': case 'x': case 'u': case 'i': {
- jim_wide jwvalue;
- long lvalue;
+ jim_wide jwvalue = 0;
+ long lvalue = 0;
char *endp; /* Position where the number finished */
int base = descr->type == 'o' ? 8
: descr->type == 'x' ? 16
/* Try to scan a number with the given base */
if (descr->modifier == 'l')
{
-#ifdef HAVE_LONG_LONG
+#ifdef HAVE_LONG_LONG_INT
jwvalue = JimStrtoll(tok, &endp, base),
#else
jwvalue = strtol(tok, &endp, base),