⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 twebenv.c

📁 ncbi源码
💻 C
📖 第 1 页 / 共 5 页
字号:
   return anp;erret:   anp = MemFree(anp);   aip -> io_failure = TRUE;   goto ret;}/****************************************************    TimeAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL TimeAsnWrite(TimePtr anp, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp, writetype = NULL;   Pointer pnt;   AsnWriteFunc func = NULL;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad())      return FALSE;   }   if (aip == NULL)   return FALSE;   atp = AsnLinkType(orig, TIME);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (anp == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   av.ptrvalue = (Pointer)anp;   if (! AsnWriteChoice(aip, atp, (Int2)anp->choice, &av)) {      goto erret;   }   pnt = anp->data.ptrvalue;   switch (anp->choice)   {   case Time_unix:      av.intvalue = anp->data.intvalue;      retval = AsnWrite(aip, TIME_unix, &av);      break;   case Time_full:      writetype = TIME_full;      func = (AsnWriteFunc) FullTimeAsnWrite;      break;   }   if (writetype != NULL) {      retval = (* func)(pnt, aip, writetype);   /* write it out */   }   if (!retval) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    QueryCommandFree()***************************************************/NLM_EXTERN QueryCommandPtr LIBCALLQueryCommandFree(ValNodePtr anp){   Pointer pnt;   if (anp == NULL) {      return NULL;   }   pnt = anp->data.ptrvalue;   switch (anp->choice)   {   default:      break;   case QueryCommand_search:      QuerySearchFree(anp -> data.ptrvalue);      break;   case QueryCommand_select:      QuerySelectFree(anp -> data.ptrvalue);      break;   case QueryCommand_related:      QueryRelatedFree(anp -> data.ptrvalue);      break;   }   return MemFree(anp);}/****************************************************    QueryCommandAsnRead()***************************************************/NLM_EXTERN QueryCommandPtr LIBCALLQueryCommandAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   ValNodePtr anp;   Uint1 choice;   Boolean isError = FALSE;   Boolean nullIsError = FALSE;   AsnReadFunc func;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* QueryCommand ::= (self contained) */      atp = AsnReadId(aip, amp, QUERY_COMMAND);   } else {      atp = AsnLinkType(orig, QUERY_COMMAND);    /* link in local tree */   }   if (atp == NULL) {      return NULL;   }   anp = ValNodeNew(NULL);   if (anp == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the CHOICE or OpenStruct value (nothing) */      goto erret;   }   func = NULL;   atp = AsnReadId(aip, amp, atp);  /* find the choice */   if (atp == NULL) {      goto erret;   }   if (atp == QUERY_COMMAND_search) {      choice = QueryCommand_search;      func = (AsnReadFunc) QuerySearchAsnRead;   }   else if (atp == QUERY_COMMAND_select) {      choice = QueryCommand_select;      func = (AsnReadFunc) QuerySelectAsnRead;   }   else if (atp == QUERY_COMMAND_related) {      choice = QueryCommand_related;      func = (AsnReadFunc) QueryRelatedAsnRead;   }   anp->choice = choice;   if (func != NULL)   {      anp->data.ptrvalue = (* func)(aip, atp);      if (aip -> io_failure) goto erret;      if (nullIsError && anp->data.ptrvalue == NULL) {         goto erret;      }   }ret:   AsnUnlinkType(orig);       /* unlink local tree */   return anp;erret:   anp = MemFree(anp);   aip -> io_failure = TRUE;   goto ret;}/****************************************************    QueryCommandAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QueryCommandAsnWrite(QueryCommandPtr anp, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp, writetype = NULL;   Pointer pnt;   AsnWriteFunc func = NULL;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad())      return FALSE;   }   if (aip == NULL)   return FALSE;   atp = AsnLinkType(orig, QUERY_COMMAND);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (anp == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   av.ptrvalue = (Pointer)anp;   if (! AsnWriteChoice(aip, atp, (Int2)anp->choice, &av)) {      goto erret;   }   pnt = anp->data.ptrvalue;   switch (anp->choice)   {   case QueryCommand_search:      writetype = QUERY_COMMAND_search;      func = (AsnWriteFunc) QuerySearchAsnWrite;      break;   case QueryCommand_select:      writetype = QUERY_COMMAND_select;      func = (AsnWriteFunc) QuerySelectAsnWrite;      break;   case QueryCommand_related:      writetype = QUERY_COMMAND_related;      func = (AsnWriteFunc) QueryRelatedAsnWrite;      break;   }   if (writetype != NULL) {      retval = (* func)(pnt, aip, writetype);   /* write it out */   }   if (!retval) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    QuerySearchNew()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchNew(void){   QuerySearchPtr ptr = MemNew((size_t) sizeof(QuerySearch));   return ptr;}/****************************************************    QuerySearchFree()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchFree(QuerySearchPtr ptr){   if(ptr == NULL) {      return NULL;   }   MemFree(ptr -> db);   MemFree(ptr -> term);   MemFree(ptr -> field);   AsnGenericUserSeqOfFree(ptr -> filters, (AsnOptFreeFunc) FilterValueFree);   return MemFree(ptr);}/****************************************************    QuerySearchAsnRead()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean isError = FALSE;   AsnReadFunc func;   QuerySearchPtr ptr;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* QuerySearch ::= (self contained) */      atp = AsnReadId(aip, amp, QUERY_SEARCH);   } else {      atp = AsnLinkType(orig, QUERY_SEARCH);   }   /* link in local tree */   if (atp == NULL) {      return NULL;   }   ptr = QuerySearchNew();   if (ptr == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */      goto erret;   }   atp = AsnReadId(aip,amp, atp);   func = NULL;   if (atp == QUERY_SEARCH_db) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> db = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SEARCH_term) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> term = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SEARCH_field) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> field = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SEARCH_filters) {      ptr -> filters = AsnGenericUserSeqOfAsnRead(aip, amp, atp, &isError, (AsnReadFunc) FilterValueAsnRead, (AsnOptFreeFunc) FilterValueFree);      if (isError && ptr -> filters == NULL) {         goto erret;      }      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SEARCH_count) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> count = av.intvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SEARCH_flags) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> flags = av.intvalue;      atp = AsnReadId(aip,amp, atp);   }   if (AsnReadVal(aip, atp, &av) <= 0) {      goto erret;   }   /* end struct */ret:   AsnUnlinkType(orig);       /* unlink local tree */   return ptr;erret:   aip -> io_failure = TRUE;   ptr = QuerySearchFree(ptr);   goto ret;}/****************************************************    QuerySearchAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QuerySearchAsnWrite(QuerySearchPtr ptr, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return FALSE;      }   }   if (aip == NULL) {      return FALSE;   }   atp = AsnLinkType(orig, QUERY_SEARCH);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {      goto erret;   }   if (ptr -> db != NULL) {      av.ptrvalue = ptr -> db;      retval = AsnWrite(aip, QUERY_SEARCH_db,  &av);   }   if (ptr -> term != NULL) {      av.ptrvalue = ptr -> term;      retval = AsnWrite(aip, QUERY_SEARCH_term,  &av);   }   if (ptr -> field != NULL) {      av.ptrvalue = ptr -> field;      retval = AsnWrite(aip, QUERY_SEARCH_field,  &av);   }   AsnGenericUserSeqOfAsnWrite(ptr -> filters, (AsnWriteFunc) FilterValueAsnWrite, aip, QUERY_SEARCH_filters, QUERY_SEARCH_filters_E);   av.intvalue = ptr -> count;   retval = AsnWrite(aip, QUERY_SEARCH_count,  &av);   av.intvalue = ptr -> flags;   retval = AsnWrite(aip, QUERY_SEARCH_flags,  &av);   if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    QuerySelectNew()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectNew(void){   QuerySelectPtr ptr = MemNew((size_t) sizeof(QuerySelect));   return ptr;}/****************************************************    QuerySelectFree()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectFree(QuerySelectPtr ptr){   if(ptr == NULL) {      return NULL;   }   MemFree(ptr -> db);   ItemSetFree(ptr -> items);   return MemFree(ptr);}/****************************************************    QuerySelectAsnRead()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean isError = FALSE;   AsnReadFunc func;   QuerySelectPtr ptr;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* QuerySelect ::= (self contained) */      atp = AsnReadId(aip, amp, QUERY_SELECT);   } else {      atp = AsnLinkType(orig, QUERY_SELECT);   }   /* link in local tree */   if (atp == NULL) {      return NULL;   }   ptr = QuerySelectNew();   if (ptr == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */      goto erret;   }   atp = AsnReadId(aip,amp, atp);   func = NULL;   if (atp == QUERY_SELECT_db) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> db = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_SELECT_items) {      ptr -> items = ItemSetAsnRead(aip, atp);      if (aip -> io_failure) {         goto erret;      }      atp = AsnReadId(aip,amp, atp);   }   if (AsnReadVal(aip, atp, &av) <= 0) {      goto erret;   }   /* end struct */ret:   AsnUnlinkType(orig);       /* unlink local tree */   return ptr;erret:   aip -> io_failure = TRUE;   ptr = QuerySelectFree(ptr);   goto ret;}/****************************************************    QuerySelectAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QuerySelectAsnWrite(QuerySelectPtr ptr, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return FALSE;      }   }   if (aip == NULL) {      return FALSE;   }   atp = AsnLinkType(orig, QUERY_SELECT);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {      goto erret;   }   if (ptr -> db != NULL) {      av.ptrvalue = ptr -> db;      retval = AsnWrite(aip, QUERY_SELECT_db,  &av);   }   if (ptr -> items != NULL) {      if ( ! ItemSetAsnWrite(ptr -> items, aip, QUERY_SELECT_items)) {         goto erret;      }   }   if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -