enum boo { FOO = 1 };

void foo(void)
{
   char str[123] = { 0 };

   enum hoo { NOO = 1 };

   strcat(str, "foo");
}

void f() { if (bar()) { baz(1); } else { baz(2); } }

int foo() { return(0); }

void foo(int a, int b)
{
   if (a == b) { a++; }
   else { b++; }
   if (a == b) { a++; }
   else { b++; }
}
