aboutsummaryrefslogtreecommitdiff
path: root/jim-package.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-24 13:53:11 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:46 +1000
commitb149e4415f9a448740cd41e5fd2a5f065262e791 (patch)
tree8c26563d127da56135188800d5863a2137e34201 /jim-package.c
parent289cf6dfe86b9b8a4e67b908a8bf8afc9fba76be (diff)
downloadjimtcl-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.c15
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;
}