title: How to ask library to use its internal function in case same function exist in other libs
body: <p>I have a <code>C</code> program using two <code>libraries</code> libA and libB. The problem is; both the libraries have list_delete function which is a compiler error. By writing these lines I am able to compile and link my code successfully. </p>
  
  <pre><code>#undef list_delete
  #define list_delete mysql_list_delete
  </code></pre>
  
  <p>After this I am able to call list_delete function of libA in my code. But when I call any function (other than list_delete) of libB which internally call list_delete function which happen to be libA's list_delete function. </p>
  
  <p>Why? libB should call list_delete function internally not libA's list_function.</p>
  
  <p>Question is how I can tell libB library to use its own list_delete function (keep in mind my program is using list_delete function of libA)   </p>