The answer is in the part you neglected to read.


NULL can be passed to function only "escaped"

\0
\x00

but $'\x00' is not like "\x00", because the first is expanded "before", and the second is expanded "after"

$ printf $'\x00'

+-+-+-+-+-+-+--+  +--+--+
|p|r|i|n|t|f|\0|  |\0|\0|
+-+-+-+-+-+-+--+  +--+--+


$ printf "\0"

+-+-+-+-+-+-+--+  +--+-+--+
|p|r|i|n|t|f|\0|  |\\|0|\0|
+-+-+-+-+-+-+--+  +--+-+--+


right?
if so, thanks a lot!


Reply via email to