Il giorno sab 14 ago 2021 alle ore 15:37 Emmanuel Deloget <[email protected]> ha scritto:
> Hello, > > On Sat, Aug 14, 2021 at 12:19 PM Roberto A. Foglietta > <[email protected]> wrote: > > > > Hi all, > > > > how long could be a shell function name? > > > > In my last patch, I used 256 characters because: "On Linux: The maximum > length for a file name is 255 bytes". So, I have extended the concept to a > function name but it is not the same. > > > > Thank you, > > According to the discussion in [1], both bash and NETBSD sh can be > used with identifiers that are longer than 1000 characters. Bash seems > to not have any limit on identifier names. The POSIX sh standard > itself does not define anything related to the length of any > identifier (be it a variable name or a function name). > > (I would totally accept shorter identifiers ; mine rarely goes larger > than 30-40 bytes, and these are the longest ; yet it's not difficult > to image a processor that could create longer identifier names). > I checked what happens when the function name is longer than the size of the buffer: nothing bad. The buffer is going to be filled but I did not see any buffer overrun. Thus it is safe, AFAIK. Reporting only the first 256 characters of the function name seems also to me enough. roberto@vm-ubuntu18:~/tinycore-editor/busybox$ gcc -o test6 test6.c roberto@vm-ubuntu18:~/tinycore-editor/busybox$ ./test6 output: 'FUNCNAME=ciao' Ciao, -R
test6.c
Description: Binary data
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
