xiaoxiang781216 commented on PR #10925:
URL: https://github.com/apache/nuttx/pull/10925#issuecomment-1772002469

   > > > i feel it involves too many `#ifdef`s in every applications.
   > > > ```
   > > > #if check config for /dev/random and/or /dev/urandom
   > > > use getrandom
   > > > #elif check config for arc4random_buf
   > > > use arc4random_buf
   > > > #else
   > > > fallback or error
   > > > #endif
   > > > ```
   > > 
   > > 
   > > Otherwise, you need if/else if, so I prefer to detect the error before 
running. For example, you may even not notice that: 
https://github.com/yamt/toywasm/blob/master/libwasi/wasi.c#L2452C12-L2452C12 
the above code mayn't work as expect if you forget to enable DEV_RANDOM or 
DEV_URANDOM. But with this patch, we can find and fix it.
   > 
   > the cited code returns an error, doesn't it? at least it was my 
expectation.
   
   In this case, getrandom always report error which isn't a runtime error. Why 
do you prefer a compiler/link time error decay to a runtime error? Since C/C++ 
language prefer to find the error as early as possible, it's better to let the 
linker report the error, or the caller add explicit #ifdef/#else/#endif in the 
code.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to