Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define ptr_valid(ptr, func) object_valid(ptr, func, #ptr)
  2.  
  3. typedef struct mypointer_t {
  4.     char* name;
  5.     ....
  6. } mypointer_t;
  7.  
  8. static inline bool object_valid(const void *obj, const char *f,
  9.         const char *t)
  10. {
  11.     if (!obj) {
  12.         blog(LOG_DEBUG, "%s: Null '%s' parameter", f, t);
  13.         return false;
  14.     }
  15.  
  16.     return true;
  17. }
  18.  
  19. const char* func(mypointer_t* t){
  20.       return ptr_valid(t, "function_name") ?
  21.               t->name : NULL;
  22. }
  23.  
  24. mypointer_t* buildAPtr() {
  25.     // Do some stuff and return a new mypointer_t* or NULL
  26. }
  27.  
  28. int main(int argc, char** argv) {
  29.     mypointer_t* myPointer = buildAPtr();
  30.     std::string Kappa = func(myPointer);
  31.  
  32.     return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement