diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-01-24 13:53:11 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:46 +1000 |
commit | b149e4415f9a448740cd41e5fd2a5f065262e791 (patch) | |
tree | 8c26563d127da56135188800d5863a2137e34201 /jim-package.c | |
parent | 289cf6dfe86b9b8a4e67b908a8bf8afc9fba76be (diff) | |
download | jimtcl-b149e4415f9a448740cd41e5fd2a5f065262e791.zip jimtcl-b149e4415f9a448740cd41e5fd2a5f065262e791.tar.gz jimtcl-b149e4415f9a448740cd41e5fd2a5f065262e791.tar.bz2 |
Add Jim_SetResultFormatted() for simplied messages
Makes creating error messages much simpler
Also convert a couple of long if/else to switch
Also some error message improvements
Also fix some memory leaks
Diffstat (limited to 'jim-package.c')
-rw-r--r-- | jim-package.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/jim-package.c b/jim-package.c index 360a267..c0020b2 100644 --- a/jim-package.c +++ b/jim-package.c @@ -14,9 +14,7 @@ int Jim_PackageProvide(Jim_Interp *interp, const char *name, const char *ver, /* If the package was already provided returns an error. */ if (Jim_FindHashEntry(&interp->packages, name) != NULL) { if (flags & JIM_ERRMSG) { - Jim_SetResult(interp, Jim_NewEmptyStringObj(interp)); - Jim_AppendStrings(interp, Jim_GetResult(interp), - "package '", name, "' was already provided", NULL); + Jim_SetResultFormatted(interp, "package \"%s\" was already provided", name); } return JIM_ERR; } @@ -124,14 +122,9 @@ int Jim_PackageRequire(Jim_Interp *interp, const char *name, int flags) if (retcode != JIM_OK) { if (flags & JIM_ERRMSG) { int len; - Jim_Obj *resultObj = Jim_GetResult(interp); - if (Jim_IsShared(resultObj)) { - resultObj = Jim_DuplicateObj(interp, resultObj); - } - Jim_GetString(resultObj, &len); - Jim_AppendStrings(interp, resultObj, len ? "\n" : "", - "Can't load package '", name, "'", NULL); - Jim_SetResult(interp, resultObj); + Jim_GetString(Jim_GetResult(interp), &len); + Jim_SetResultFormatted(interp, "%#s%sCan't load package %s", + Jim_GetResult(interp), len ? "\n" : "", name); } return retcode; } |