summaryrefslogtreecommitdiff
path: root/threads.js
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2013-10-04 10:34:59 +0200
committerjmoenig <jens@moenig.org>2013-10-04 10:34:59 +0200
commitec6b46a4c58f25ab7f8c1e47493f131809b6fd3b (patch)
tree1227c89f855d2f6bc2d55020c9ec9d2e95527a4c /threads.js
parent9a0881b96a729b2dcdc55645b293f61276551fa6 (diff)
downloadsnap-ec6b46a4c58f25ab7f8c1e47493f131809b6fd3b.tar.gz
snap-ec6b46a4c58f25ab7f8c1e47493f131809b6fd3b.zip
Type-check the SPLIT block's input before eval'ing it
Diffstat (limited to 'threads.js')
-rw-r--r--threads.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/threads.js b/threads.js
index b8acc7e..a705f28 100644
--- a/threads.js
+++ b/threads.js
@@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/
// Global stuff ////////////////////////////////////////////////////////
-modules.threads = '2013-September-16';
+modules.threads = '2013-October-04';
var ThreadManager;
var Process;
@@ -2002,8 +2002,18 @@ Process.prototype.reportUnicodeAsLetter = function (num) {
};
Process.prototype.reportTextSplit = function (string, delimiter) {
- var str = (string || '').toString(),
+ var types = ['text', 'number'],
+ strType = this.reportTypeOf(string),
+ delType = this.reportTypeOf(this.inputOption(delimiter)),
+ str,
del;
+ if (!contains(types, strType)) {
+ throw new Error('expecting a text instad of a ' + strType);
+ }
+ if (!contains(types, delType)) {
+ throw new Error('expecting a text delimiter instad of a ' + delType);
+ }
+ str = (string || '').toString();
switch (this.inputOption(delimiter)) {
case 'line':
del = '\n';