News for hackers. Stuff that matters.
Re:Facil.io: A micro-framework for C web applications by drudru11 on Saturday January 26, 2019 @02:38PM (#19007980)
Yes, this exactly - as soon as I saw that, I was like “how did he pull that off?”.

Of course, the first comment on HN has the answer.

I am going to try this trick out today.

Re:Facil.io: A micro-framework for C web applications by drudru11 on Saturday January 26, 2019 @05:41PM (#19009022)
The exact line is here:

https://github.com/boazsegev/facil.io/blob/master/lib/facil/...

I've seen other hacks to do this, but this is the cleanest that I've seen. He uses the same name for the macro and the function.

The only thing I would change is the way the struct is passed. I would pass by reference.

I really like this.

Re:Facil.io: A micro-framework for C web applications by tom_mellior on Sunday January 27, 2019 @10:12AM (#19011966)
> I would pass by reference.

Interesting. I expected taking the address of a struct literal to be illegal, but GCC and Clang both accept it. It does make sense, I guess.

But may I ask why you would pass it by reference? With old ABIs, the struct would be passed on the stack (i.e., by reference) anyway, and with more recent ones, a small prefix would be in registers but the rest passed by reference as well. So why bother manually cluttering the code?