aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez>2005-03-03 15:36:41 +0000
committerantirez <antirez>2005-03-03 15:36:41 +0000
commit8f3e8b75a4505f736b27efec86b0e4ca228e529d (patch)
tree0f880c2fdd288a144900319c165bb2d3bb018841
parentb529b8b718c67e29bbf03b6412e3a4f9cbd1b3aa (diff)
downloadjimtcl-8f3e8b75a4505f736b27efec86b0e4ca228e529d.zip
jimtcl-8f3e8b75a4505f736b27efec86b0e4ca228e529d.tar.gz
jimtcl-8f3e8b75a4505f736b27efec86b0e4ca228e529d.tar.bz2
[string repeat] implemented.
-rw-r--r--jim.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/jim.c b/jim.c
index d8c14a5..ca29834 100644
--- a/jim.c
+++ b/jim.c
@@ -8102,6 +8102,22 @@ static int Jim_StringCoreCommand(Jim_Interp *interp, int argc,
return JIM_ERR;
Jim_SetResult(interp, objPtr);
return JIM_OK;
+ } else if (Jim_CompareStringImmediate(interp, argv[1], "repeat")) {
+ Jim_Obj *objPtr;
+ jim_wide count;
+
+ if (argc != 4) {
+ Jim_WrongNumArgs(interp, 2, argv, "string count");
+ return JIM_ERR;
+ }
+ if (Jim_GetWide(interp, argv[3], &count) != JIM_OK)
+ return JIM_ERR;
+ objPtr = Jim_NewStringObj(interp, "", 0);
+ while (count--) {
+ Jim_AppendObj(interp, objPtr, argv[2]);
+ }
+ Jim_SetResult(interp, objPtr);
+ return JIM_OK;
} else {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),