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