sync with Jim Tcl repository.

git-svn-id: svn://svn.berlios.de/openocd/trunk@964 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2008-08-25 06:50:30 +00:00
parent 5506f71625
commit e9926c60bc
2 changed files with 17 additions and 7 deletions

View File

@ -2173,8 +2173,9 @@ static Jim_Obj *JimStringToUpper(Jim_Interp *interp, Jim_Obj *strObjPtr)
* TODO: Lots of things work - via a hack * TODO: Lots of things work - via a hack
* However, no format item can be >= JIM_MAX_FMT * However, no format item can be >= JIM_MAX_FMT
*/ */
Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr, #define JIM_MAX_FMT 2048
int objc, Jim_Obj *const *objv) static Jim_Obj *Jim_FormatString_Inner(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
int objc, Jim_Obj *const *objv, char *sprintf_buf)
{ {
const char *fmt, *_fmt; const char *fmt, *_fmt;
int fmtLen; int fmtLen;
@ -2190,8 +2191,6 @@ Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
jim_wide wideValue; jim_wide wideValue;
double doubleValue; double doubleValue;
/* we cheat and use Sprintf()! */ /* we cheat and use Sprintf()! */
#define JIM_MAX_FMT 2048
char sprintf_buf[JIM_MAX_FMT];
char fmt_str[100]; char fmt_str[100];
char *cp; char *cp;
int width; int width;
@ -2456,6 +2455,15 @@ Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
return resObjPtr; return resObjPtr;
} }
Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
int objc, Jim_Obj *const *objv)
{
char *sprintf_buf=malloc(JIM_MAX_FMT);
Jim_Obj *t=Jim_FormatString_Inner(interp, fmtObjPtr, objc, objv, sprintf_buf);
free(sprintf_buf);
return t;
}
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* Compared String Object * Compared String Object
* ---------------------------------------------------------------------------*/ * ---------------------------------------------------------------------------*/
@ -8777,15 +8785,17 @@ int Jim_EvalFile(Jim_Interp *interp, const char *filename)
int nread, totread, maxlen, buflen; int nread, totread, maxlen, buflen;
int retval; int retval;
Jim_Obj *scriptObjPtr; Jim_Obj *scriptObjPtr;
char cwd[ 2048 ];
if ((fp = fopen(filename, "r")) == NULL) { if ((fp = fopen(filename, "r")) == NULL) {
const int cwd_len=2048;
char *cwd=malloc(cwd_len);
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp)); Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
getcwd( cwd, sizeof(cwd) ); getcwd( cwd, cwd_len );
Jim_AppendStrings(interp, Jim_GetResult(interp), Jim_AppendStrings(interp, Jim_GetResult(interp),
"Error loading script \"", filename, "\"", "Error loading script \"", filename, "\"",
" cwd: ", cwd, " cwd: ", cwd,
" err: ", strerror(errno), NULL); " err: ", strerror(errno), NULL);
free(cwd);
return JIM_ERR; return JIM_ERR;
} }
buflen = 1024; buflen = 1024;

View File

@ -3,7 +3,7 @@
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
* Copyright 2005 Clemens Hintze <c.hintze@gmx.net> * Copyright 2005 Clemens Hintze <c.hintze@gmx.net>
* Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net> * Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net>
* Copyright 2008 oharboe - Øyvind Harboe - soyvind.harboe@zylin.com * Copyright 2008 oharboe - Øyvind Harboe - oyvind.harboe@zylin.com
* Copyright 2008 Andrew Lunn <andrew@lunn.ch> * Copyright 2008 Andrew Lunn <andrew@lunn.ch>
* Copyright 2008 Duane Ellis <openocd@duaneellis.com> * Copyright 2008 Duane Ellis <openocd@duaneellis.com>
* Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de> * Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de>