NCBI C Toolkit Cross Reference

C/access/objegkludge.c


  1 #include <asn.h>
  2 
  3 #include <objegkludge.h>
  4 
  5 /* allows asncode-generated Entrezgene object loaders to use hand-coded Dbtag reader/writer */
  6 
  7 /**************************************************
  8 *
  9 *    EGDbtagNew()
 10 *
 11 **************************************************/
 12 NLM_EXTERN 
 13 EGDbtagPtr LIBCALL
 14 EGDbtagNew(void)
 15 {
 16    EGDbtagPtr ptr = MemNew((size_t) sizeof(EGDbtag));
 17 
 18    return ptr;
 19 
 20 }
 21 
 22 
 23 /**************************************************
 24 *
 25 *    EGDbtagFree()
 26 *
 27 **************************************************/
 28 NLM_EXTERN 
 29 EGDbtagPtr LIBCALL
 30 EGDbtagFree(EGDbtagPtr ptr)
 31 {
 32 
 33    if(ptr == NULL) {
 34       return NULL;
 35    }
 36    MemFree(ptr -> db);
 37    ObjectIdFree(ptr -> tag);
 38    return MemFree(ptr);
 39 }
 40 
 41 
 42 /**************************************************
 43 *
 44 *    EGDbtagAsnRead()
 45 *
 46 **************************************************/
 47 NLM_EXTERN 
 48 EGDbtagPtr LIBCALL
 49 EGDbtagAsnRead(AsnIoPtr aip, AsnTypePtr orig)
 50 {
 51    DbtagPtr dbt;
 52    EGDbtagPtr ptr;
 53 
 54    if (aip == NULL) return NULL;
 55 
 56    dbt = DbtagAsnRead (aip, orig);
 57    if (dbt == NULL) return NULL;
 58 
 59    ptr = EGDbtagNew();
 60    if (ptr == NULL) return NULL;
 61  
 62    ptr->db = dbt->db;
 63    ptr->tag = dbt->tag;
 64  
 65    MemFree (dbt);
 66 
 67    return ptr;
 68 }
 69 
 70 
 71 
 72 /**************************************************
 73 *
 74 *    EGDbtagAsnWrite()
 75 *
 76 **************************************************/
 77 NLM_EXTERN Boolean LIBCALL 
 78 EGDbtagAsnWrite(EGDbtagPtr ptr, AsnIoPtr aip, AsnTypePtr orig)
 79 {
 80    DbtagPtr dbt;
 81    Boolean retval = FALSE;
 82 
 83    if (aip == NULL || ptr == NULL) return FALSE;
 84 
 85    dbt = DbtagNew ();
 86    if (dbt == NULL) return FALSE;
 87 
 88    dbt->db = ptr->db;
 89    dbt->tag = ptr->tag;
 90    retval = DbtagAsnWrite (dbt, aip, orig);
 91 
 92    MemFree (dbt);
 93 
 94    return retval;
 95 }
 96 
 97 
 98 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.