Advertisement
Guest User

Untitled

a guest
Jul 27th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. // The question is - which makes more sense in a general case:
  2. // early outs or single entry/exit.
  3. // Note mystringcopy() returns the number of characters actually copied. mystringcopy()
  4. // should also be considered functionally irrelevant - this question is more about
  5. // early outs vs single entry/exit.
  6.  
  7. const unsigned int fixedlength = 255;
  8. bool destTest01(const char *const valueA,
  9. const char *const valueB)
  10. {
  11. unsigned int valueALength = strlen(valueA);
  12. unsigned int stringLength = 0;
  13. char destbuffer01[fixedLength];
  14. char destbuffer02[fixedLength];
  15. if (valueALength != mystringcopy(destbuffer, valueA, valueALength))
  16. {
  17. // Log some stuff - cut for brevity
  18. return false;
  19. }
  20.  
  21. unsigned int valueBLength = strlen(valueB);
  22. if (valueBLength != mystringcopy(desbuffer02, valueB, valueBLength))
  23. {
  24. // Log some stuff - cut for brevity
  25. return false;
  26. }
  27.  
  28. // do something interesting with valueA and valueB
  29. // interesting is something non-trivial.
  30. return true;
  31. }
  32.  
  33. // However, if we're dealing with something trivial, this is better
  34. bool destTest02(const char *const valueA,
  35. const char *const valueB)
  36. {
  37. bool ok = true;
  38. unsigned int valueALength = strlen(valueA);
  39. unsigned int stringLength = 0;
  40. char destbuffer01[fixedLength];
  41. char destbuffer02[fixedLength];
  42. if (valueALength != mystringcopy(destbuffer, valueA, valueALength))
  43. {
  44. // Log some stuff - cut for brevity
  45. ok = false;
  46. }
  47.  
  48. unsigned int valueBLength = strlen(valueB);
  49. if (ok && valueBLength != mystringcopy(desbuffer02, valueB, valueBLength))
  50. {
  51. // Log some stuff - cut for brevity
  52. ok = false;
  53. }
  54.  
  55. // check to see if destbuffer02 is in destbuffer01, or something equally
  56. // trivial
  57. return ok;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement