From 4bbd3ded0b767ae0919551776e4c17189140e735 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 30 May 2015 19:30:33 -0700 Subject: 1517 --- html/060string.mu.html | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) (limited to 'html/060string.mu.html') diff --git a/html/060string.mu.html b/html/060string.mu.html index 90a06d40..ee17699c 100644 --- a/html/060string.mu.html +++ b/html/060string.mu.html @@ -10,17 +10,17 @@ @@ -313,6 +313,34 @@ container buffer [ reply result:address:array:character ] +recipe buffer-to-array [ + default-space:address:array:character <- new location:type, 30:literal + in:address:buffer <- next-ingredient + len:number <- get in:address:buffer/deref, length:offset +#? $print [size ], len:number, [ +#? ] #? 1 + s:address:array:character <- get in:address:buffer/deref, data:offset + { + # propagate null buffer + break-if s:address:array:character + reply 0:literal + } + # we can't just return s because it is usually the wrong length + result:address:array:character <- new character:type, len:number + i:number <- copy 0:literal + { +#? $print i:number #? 1 + done?:boolean <- greater-or-equal i:number, len:number + break-if done?:boolean + src:character <- index s:address:array:character/deref, i:number + dest:address:character <- index-address result:address:array:character/deref, i:number + dest:address:character/deref <- copy src:character + i:number <- add i:number, 1:literal + loop + } + reply result:address:array:character +] + scenario integer-to-decimal-digit-zero [ run [ 1:address:array:character/raw <- integer-to-decimal-string 0:literal -- cgit 1.4.1-2-gfad0