On Mon, Jan 09, 2023 at 03:35:56PM +0100, Petr Štetiar wrote:
> Petr Štetiar <yn...@true.cz> [2023-01-09 11:50:37]:
> 
> Hi,
> 
> > BTW ucode has `b64dec()`[1] so perhaps another viable option.
> > 
> > 1. https://github.com/jow-/ucode#663-b64decstr
> 
> wanted to refresh my ucode brain cells, so I've explored feasibility of that
> suggestion and it seems to work just fine:
> 
>       #!/usr/bin/ucode
> 
>       import { stdin, open, error } from 'fs';
> 
>       if (length(ARGV) == 0 && stdin.isatty()) {
>               warn("usage: b64decode [stdin|path]\n");
>               exit(1);
>       }
> 
>       let fp = stdin;
>       let source = ARGV[0];
> 
>       if (source) {
>               fp = open(source);
>               if (!fp) {
>                       warn(`b64decode: unable to open ${source}: 
> ${error()}\n`);
>                       exit(1);
>               }
>       }
> 
>       print(b64dec(fp.read("all")));
>       fp.close();
>       exit(0);
> 
> BTW it needs recent ucode with fs.stdin.isatty() support[1].
> 
> Thanks Jo for helping me making above script more idiomatic. IMO it looks more
> human readable, portable and maintanable then that awk based solution.
> 
> 1. 
> https://github.com/jow-/ucode/commit/be30472bfdbbb410e8934b48a56d26c5c630d0f1
> 

Thanks for helping with this. I really like the ucode way. Just a few
question:
1. How this should be handled? A script that the target will provide?
Part of a common function?

2. Ucode is part of the core packages? Or an optional dependency for
luci and fw4? In theory it should be always present or as a safe thing
we should add ucode in the required packages for this target?


-- 
        Ansuel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to