<div dir="ltr"><div class="gmail_extra">I don't write code in C. I have my own personal language that is implemented as C macros
</div><div class="gmail_extra"><br></div><div class="gmail_extra">#typedef int PUBLIC_ENTRY;</div><div class="gmail_extra">#define PRIVATE_ENTRY static int</div><div class="gmail_extra"><br></div><div class="gmail_extra">
#define BEGIN  << stuff >></div><div class="gmail_extra">#define END  return 0; _fail:  << stuff >> return -1;</div><div class="gmail_extra"><br></div><div class="gmail_extra">#define CHECK_STATUS(x) if (x != 0) goto _fail;</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">So all my functions look like </div><div class="gmail_extra"><br></div><div class="gmail_extra">PUBLIC_ENTRY function () {</div><div class="gmail_extra">BEGIN;</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">CHECK_STATUS (some_function);</div><div class="gmail_extra"><br></div><div class="gmail_extra">END</div><div class="gmail_extra">}</div><div class="gmail_extra">
<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">If I had other people coding I would check their stuff with a preprocessor that rejects any code that has the string goto in as a code smell.</div><div class="gmail_extra">
<br></div><div class="gmail_extra">(thats not the actual code, from memory as i don't take any source with me when crossing national boundaries but you get the idea).</div><div class="gmail_extra"><br></div><div class="gmail_extra">
I don't trust ||= either...</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">The reason for PUBLIC_ENTRY is because I have a tool that looks for that string to generate the function declaration headers from it.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Exception handling in C....</div></div>