Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
MISRA C:1998 Rule 58
#2
I would suggest the following.

Code:
switch(x)
            {
            case 0:
                result = checkInitVars();
                if (SUCCESS != result)
                {
                      /* something not fine here, get out. */
                 }
                 else
                {
                      result = startOperation();
                 }
                break;

            case 1:
                  result = checkInitVars();
                  if (SUCCESS == result)
                     {
                      result = startOperation();
                      }
                  break;
            
             default:
                    result = FAILED;
                    break;
            }

case 0 uses if-else. so you can catch a specific \"if\" and all esle will be the oposite state.

depending on you system your default should return an error or place the system in a safe state.

Why are you switching on X and then testing for result? I think you could have a more elegant solution.
<t>This post is made in a personal capacity<br/>
Member of MISRA-C-WG since 2002</t>
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)