A semicolon ends a statement, and semicolon is a statement on its own. One that does nothing. That’s why you can write
int i; for (i = 0; i ᐸ 3; i++);
to set
i = 3
. You can use that pattern to find something in an iterator, etc. But I would preferint i = 0; while (i ᐸ 3) { i++; }
for readability.
Your less thans got HTML-escaped into < and I spent embarrassingly long trying to figure out what pointer magic you were demonstrating
Yeah, both Voyager and the normal lemmy web client escape the less-than sign. I tried it twice on both clients.
Some time back there was an attack on Lemmy where (if I recall correctly) HTML embedded in emoji allowed tokens of users viewing the emoji to get stolen… which included administrators auth tokens. There was much havoc wrecked that evening.
The mitigation for this was “all HTML entities are escaped”. Doesn’t matter where they are - they’re escaped. This sometimes leads to them being doubly escaped when rendering. Less than, ampersand, and greater than all get doubly escaped ( > & < ).
… And that gets interesting as I can’t quite tickle that issue.
Canadian Aboriginal syllabics to the rescue!
The loop will run to completion with no side effects. Unless it gets optimized away by the compiler or CPU.
Now slap some commas in there and you can have side effects in the loop header.
Guaranteed to confuse :)
Might help if you add some sample code
Pro tip:
for(;;)
takes less to type thannwhile(true)
My programs cause enough tears on their own without having to put them in the code itself.
Nothing
deleted by creator
Only if you malloc in the loop header buddy!