[ create a new paste ] login | about

Link: http://codepad.org/6wP9mdV2    [ raw code | fork ]

aaronla - C++, pasted on Oct 7:
typedef int HRESULT ;
bool SUCCEEDED(HRESULT x){return(x)>=0;}
HRESULT f(){return 0;}
#define g f
#define h f

/********************************/

HRESULT fun()
{
  HRESULT hr;
  SUCCEEDED(hr = f()) &&
  SUCCEEDED(hr = g()) &&
  SUCCEEDED(hr = h());
  return hr;
}

/*---- or, if you'd prefer: ----*/

#define DO SUCCEEDED
#define _ && SUCCEEDED
#define OD  (1);

HRESULT more_fun() 
{
  HRESULT hr;
  DO 
     (hr = f()) _
     (hr = g()) _
     (hr = h()) _
  OD
  return hr;
}

int main(){
  fun();
  more_fun();
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: