diff options
-rw-r--r-- | array.c | 3 | ||||
-rw-r--r-- | quadnames.c | 14 |
2 files changed, 15 insertions, 2 deletions
@@ -319,7 +319,7 @@ comparearray(Array *a, Array *b, int checkshapes) } for(i = 0; i < a->size && i < b->size; i++){ - int sub = 0; + int sub; switch(GetType(a)){ case AtypeInt: sub = a->intdata[i] > b->intdata[i] ? 1 : a->intdata[i] == b->intdata[i] ? 0 : -1; @@ -381,7 +381,6 @@ fillelement(Array *a) default: print("Can't make fill element of array type %d\n", GetType(a)); exits(nil); - return 0; } } diff --git a/quadnames.c b/quadnames.c index a44c04d..f7eb78b 100644 --- a/quadnames.c +++ b/quadnames.c @@ -45,6 +45,7 @@ Array *quadpipe(Array *); Array *quadfd2path(Array *); Array *quadns1(Array *); Array *quadns2(Array *, Array *); +Array *quadc1(Array *); static Rune *quadquotebuf = nil; static Array *session = nil; @@ -79,6 +80,7 @@ QuadnameDef quadnames[] = { {L"⎕PIPE", FunctionTag, nil, nil, quadpipe, nil}, {L"⎕FD2PATH", FunctionTag, nil, nil, quadfd2path, nil}, {L"⎕NS", FunctionTag, nil, nil, quadns1, quadns2}, + {L"⎕C", FunctionTag, nil, nil, quadc1, nil}, {nil, 0, nil, nil, nil, nil} /* MUST BE LAST */ }; @@ -786,4 +788,16 @@ Array *quadns2(Array *, Array *) { throwerror(L"⎕NS", ENotImplemented); return nil; +} + +Array * +quadc1(Array *a) +{ + if(GetType(a) != AtypeRune) + throwerror(L"Must be character data", EDomain); + + Array *res = duparray(a); + for(uvlong i = 0; i < res->size; i++) + res->runedata[i] = tolowerrune(res->runedata[i]); + return res; }
\ No newline at end of file |