• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ LOG_RTERR函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中LOG_RTERR函数的典型用法代码示例。如果您正苦于以下问题:C++ LOG_RTERR函数的具体用法?C++ LOG_RTERR怎么用?C++ LOG_RTERR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了LOG_RTERR函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: berDecStrmMatchTag

int berDecStrmMatchTag (OSCTXT* pctxt, ASN1TAG tag, int *len_p, 
   OSBOOL advance)
{
   int stat;
   ASN1TAG parsed_tag;
   int parsed_len;

   stat = rtxStreamDirectBufCheck (pctxt);
   if (stat < 0) return LOG_RTERR (pctxt, stat);

   stat = rtxStreamMark (pctxt, 32);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   stat = berDecStrmTagAndLen (pctxt, &parsed_tag, &parsed_len);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   parsed_tag &= ~TM_CONS;
   if ((tag & ~TM_CONS) != parsed_tag) {
      rtxStreamReset (pctxt);
#ifndef _COMPACT
      berErrAddTagParm (pctxt, tag);         /* expected tag */
      berErrAddTagParm (pctxt, parsed_tag);  /* parsed tag */
#endif
      return RTERR_IDNOTFOU;
   }
   else {
      if (len_p != 0) *len_p = parsed_len;
      if (!advance) {
         stat = rtxStreamReset (pctxt);
         if (stat != 0) return LOG_RTERR (pctxt, stat);
      }
   }

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:35,代码来源:berDecStrmCommon.c


示例2: asn1PD_RUA_CauseProtocol

EXTERN int asn1PD_RUA_CauseProtocol (OSCTXT* pctxt, RUA_CauseProtocol* pvalue)
{
   int stat = 0;
   OSUINT32 ui;
   OSBOOL extbit = FALSE;

   /* extension bit */

   stat = PD_BIT (pctxt, &extbit);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   if (extbit) {
      stat = pd_SmallNonNegWholeNumber (pctxt, &ui);
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      *pvalue = 0x7fffffff;
   }
   else {
      stat = pd_ConsUnsigned (pctxt, &ui, 0, OSUINTCONST(6));
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      switch (ui) {
         case 0: *pvalue = RUA_transfer_syntax_error; break;
         case 1: *pvalue = RUA_abstract_syntax_error_reject; break;
         case 2: *pvalue = RUA_abstract_syntax_error_ignore_and_notify; break;
         case 3: *pvalue = RUA_message_not_compatible_with_receiver_state; break;
         case 4: *pvalue = RUA_semantic_error; break;
         case 5: *pvalue = RUA_unspecified_2; break;
         case 6: *pvalue = RUA_abstract_syntax_error_falsely_constructed_message; break;
         default: return LOG_RTERR (pctxt, RTERR_INVENUM);
      }
   }

   return (stat);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:35,代码来源:RUA-IEsDec.c


示例3: asn1PD_RUA_Establishment_Cause

EXTERN int asn1PD_RUA_Establishment_Cause (OSCTXT* pctxt, RUA_Establishment_Cause* pvalue)
{
   int stat = 0;
   OSUINT32 ui;
   OSBOOL extbit = FALSE;

   /* extension bit */

   stat = PD_BIT (pctxt, &extbit);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   if (extbit) {
      stat = pd_SmallNonNegWholeNumber (pctxt, &ui);
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      *pvalue = 0x7fffffff;
   }
   else {
      stat = pd_ConsUnsigned (pctxt, &ui, 0, OSUINTCONST(1));
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      switch (ui) {
         case 0: *pvalue = RUA_emergency_call; break;
         case 1: *pvalue = RUA_normal_call; break;
         default: return LOG_RTERR (pctxt, RTERR_INVENUM);
      }
   }

   return (stat);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:30,代码来源:RUA-IEsDec.c


示例4: rtMakeGeneralizedTime

EXTRTMETHOD int rtMakeGeneralizedTime (OSCTXT* pctxt, const OSNumDateTime* dateTime,
                           char** outdata, size_t outdataSize)
{
   char dateTimeStr[46];
   int  j;
   double frac;

   if (!rtxDateTimeIsValid (dateTime))
      return LOG_RTERR(pctxt, RTERR_INVFORMAT);

   /* YYYYMMDDHH[MM[SS[(.|,)SSSS]]][TZD] */
   j = sprintf (dateTimeStr, "%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d", 
                dateTime->year, dateTime->mon, dateTime->day, 
                dateTime->hour, dateTime->min, (int)dateTime->sec);

   frac = dateTime->sec - (int)dateTime->sec;
   if (frac > 0.00000001) {
      char tmpbuf[32]; int i, len;
      sprintf (tmpbuf, "%.6f", frac);
      len = strlen (tmpbuf);

      /* cut trailing zeros off frac part */
      for (i = len - 1; i > 0; i--) {
         if (tmpbuf [i] == '0')
            tmpbuf [i] = '\0';
         else
            break;
      }

      if (i > 2) {
         strcat (dateTimeStr, ".");
         strcat (dateTimeStr, tmpbuf + 2);
      }
   }

   if (dateTime->tz_flag) {
      dateTimeStr [j++] = 'Z';
      dateTimeStr [j]   = '\0';
   }
   else if (dateTime->tzo != 0) {
      char tzd = (dateTime->tzo < 0) ? '-' : '+';
      int  tzo = dateTime->tzo;
      if (tzo < 0) tzo *= -1;
      sprintf (dateTimeStr + j, "%c%02d%02d", tzd, tzo/60, tzo%60);
   }

   if (outdataSize == 0) {
      *outdata = (char*) rtxMemAlloc (pctxt, strlen(dateTimeStr)+1);
      if (0 == *outdata)
         return LOG_RTERR (pctxt, RTERR_NOMEM);
   }
   else {
      size_t size = strlen (dateTimeStr);
      if (outdataSize <= size)
         return LOG_RTERR (pctxt, RTERR_STROVFLW);
   }
   strcpy (*outdata, dateTimeStr);

   return (0);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:60,代码来源:rtMakeGeneralizedTime.c


示例5: asn1PD_RUA_CauseRadioNetwork

EXTERN int asn1PD_RUA_CauseRadioNetwork (OSCTXT* pctxt, RUA_CauseRadioNetwork* pvalue)
{
   int stat = 0;
   OSUINT32 ui;
   OSBOOL extbit = FALSE;

   /* extension bit */

   stat = PD_BIT (pctxt, &extbit);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   if (extbit) {
      stat = pd_SmallNonNegWholeNumber (pctxt, &ui);
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      *pvalue = 0x7fffffff;
   }
   else {
      stat = pd_ConsUnsigned (pctxt, &ui, 0, OSUINTCONST(3));
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      switch (ui) {
         case 0: *pvalue = RUA_normal; break;
         case 1: *pvalue = RUA_connect_failed; break;
         case 2: *pvalue = RUA_network_release; break;
         case 3: *pvalue = RUA_unspecified; break;
         default: return LOG_RTERR (pctxt, RTERR_INVENUM);
      }
   }

   return (stat);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:32,代码来源:RUA-IEsDec.c


示例6: berDecStrmReal

int berDecStrmReal (OSCTXT *pctxt, OSREAL *object_p, 
                    ASN1TagType tagging, int length) 
{ 
   OSRTBuffer savedBuf;
   OSOCTET tmpbuf[16];
   register int stat = 0;

   if (tagging == ASN1EXPL) {
      if ((stat = berDecStrmMatchTag (pctxt, ASN_ID_REAL, &length, TRUE)) != 0)
      /* RTERR_IDNOTFOU will be logged later, by the generated code, 
         or reset by rtxErrReset (for optional seq elements). */
         return (stat == RTERR_IDNOTFOU) ? stat : LOG_RTERR (pctxt, stat);
   }

   /* Read encoded value into memory */

   if (length > sizeof(tmpbuf)) {
      return LOG_RTERR (pctxt, RTERR_TOOBIG);
   }
   stat = rtxStreamRead (pctxt, tmpbuf, length);
   if (stat < 0) return LOG_RTERR (pctxt, stat);

   /* Decode */

   memcpy (&savedBuf, &pctxt->buffer, sizeof(OSRTBuffer));
   rtxInitContextBuffer (pctxt, tmpbuf, length);

   stat = xd_real (pctxt, object_p, ASN1IMPL, length);

   /* Reset context buffer */

   memcpy (&pctxt->buffer, &savedBuf, sizeof(OSRTBuffer));

   return stat;
} 
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:35,代码来源:berDecStrmReal.c


示例7: rtxCheckBuffer

EXTRTMETHOD int rtxWriteBytes 
(OSCTXT* pctxt, const OSOCTET* pdata, size_t nocts)
{
   if (nocts > 0) {
      if (!OSRTISSTREAM (pctxt)) {
         int stat = rtxCheckBuffer (pctxt, nocts);
         if (0 == stat) {
            OSCRTLMEMCPY (&pctxt->buffer.data[pctxt->buffer.byteIndex], 
                    pdata, nocts);

            pctxt->buffer.byteIndex += nocts;
         }
         else return LOG_RTERR (pctxt, stat);
      } 
#ifndef _NO_STREAM
      else {
         if (OSRTSTREAM_ID (pctxt) != OSRTSTRMID_DIRECTBUF && 
             !(OSRTSTREAM_FLAGS (pctxt) & OSRTSTRMF_UNBUFFERED)) 
         {
            int stat = rtxStreamDirectBufCreate (pctxt);
            if (stat != 0) return LOG_RTERR (pctxt, stat);
         }
         return rtxStreamWrite (pctxt, pdata, nocts);
      }
#endif
   }
   LCHECKX (pctxt);
   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:29,代码来源:rtxWriteBytes.c


示例8: rtxStreamSocketCreateWriter

EXTRTMETHOD int rtxStreamSocketCreateWriter (OSCTXT* pctxt, const char* host, int port)
{
   int i, stat;
   OSRTSOCKET socket;

   if (0 != pctxt->pStream) {
      return LOG_RTERR (pctxt, RTERR_STRMINUSE);
   }

   stat = rtxSocketCreate (&socket);
   if (0 != stat) return LOG_RTERR (pctxt, stat);

   RTDIAG3 (pctxt, "Connecting to %s:%i..", host, port);
   for (i = 0; i < MAX_CONNECT_ATTEMPTS; i++) {
      stat = rtxSocketConnect (socket, host, port);
      if (0 != stat) {
         if (i + 1 == MAX_CONNECT_ATTEMPTS) {
            RTDIAG2 (pctxt, "\nConnection failed, error code is %i\n", stat);
            return LOG_RTERR (pctxt, stat);
         }
      }
      else break;
   }
   RTDIAG1 (pctxt, "\nConnection established.\n");

   rtxStreamInit (pctxt);

   stat = rtxStreamSocketAttach (pctxt, socket, OSRTSTRMF_OUTPUT);

   if (0 != stat) return LOG_RTERR (pctxt, stat);

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:33,代码来源:rtxStreamSocket.c


示例9: xd_32BitCharStr

int xd_32BitCharStr (OSCTXT* pctxt, Asn132BitCharString* object_p,
                     ASN1TagType tagging, ASN1TAG tag, int length)
{
   OSUINT32   i;
   OSINT32    stat = 0, isConstructedTag;
   OSOCTET* data = 0;
   OSUINT32   nchars = 0;
   OS32BITCHAR* data32 = 0;

   if (tagging == ASN1EXPL) {
      if ((stat = xd_match1 (pctxt, ASN1TAG2BYTE(tag), &length)) < 0)
         /* RTERR_IDNOTFOU will be logged later, by the generated code, 
            or reset by rtxErrReset (for optional seq elements). */
         return (stat == RTERR_IDNOTFOU) ? stat : LOG_RTERR (pctxt, stat);
   }
   isConstructedTag = (int)((pctxt->flags & ASN1CONSTAG) != 0);

   if (0 == length) {
      nchars = 0;
      data32 = 0;
   }
   else {
      int size, ll = 0;

      /* For an indefinite length message, need to get the actual 	*/
      /* length by parsing tags until the end of the message is 	*/
      /* reached..							*/
      if (length == ASN_K_INDEFLEN) {  /* indefinite length message */
         if ((stat = xd_consStrIndefLenAndSize (pctxt, TM_UNIV|ASN_ID_OCTSTR, 
            &ll, &size)) != 0)
            return LOG_RTERR (pctxt, stat);
      }
      else ll = size = length;
      
      data = (OSOCTET*) rtxMemAlloc (pctxt, ll);
      data32 = (OS32BITCHAR*)data;

      if (0 != data) {
         ll = size;
         if ((stat = xd_octstr_s 
                    (pctxt, data, (OSUINT32*) &ll, ASN1IMPL, size)) != 0)
            return LOG_RTERR_AND_FREE_MEM (pctxt, stat, data);
         nchars = ll / 4;
         for (i = 0; i < nchars; i++, data += 4) {
            data32[i] = (OS32BITCHAR) (((data[0] * 256) + data[1]) * 
               65536UL + (((data[2] * 256) + data[3])));
         }
      }
      else
         return LOG_RTERR (pctxt, RTERR_NOMEM);
   }

   if (isConstructedTag && length == ASN_K_INDEFLEN) {
      if (XD_MATCHEOC (pctxt)) XD_BUMPIDX (pctxt, 2);
      else return LOG_RTERR_AND_FREE_MEM (pctxt, ASN_E_INVLEN, data);
   }
   object_p->data = data32;
   object_p->nchars = nchars;
   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:60,代码来源:xd_32BitCharStr.c


示例10: xerEncAscCharStr

int xerEncAscCharStr (OSCTXT* pctxt, 
                      const char* pvalue, 
                      const char* elemName)
{
   int  stat;

   /* Element name must be specified because this function could be     */
   /* invoked to handle any of the useful character string types.       */

   if (0 == elemName) return LOG_RTERR (pctxt, RTERR_INVPARAM);

   /* Encode start element */

   stat = xerEncStartElement (pctxt, elemName, 0);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   pctxt->state = XERDATA;

   /* Loop through all characters and convert special characters into   */
   /* XML escape sequences.                                             */

   stat = xerPutCharStr (pctxt, pvalue, strlen (pvalue));
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   /* Encode end element */

   stat = xerEncEndElement (pctxt, elemName);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:31,代码来源:xerEncAscCharStr.c


示例11: PU_NEWFIELD

EXTPERMETHOD int PD_CONSINTFUNC 
(OSCTXT* pctxt, OSINTTYPE* pvalue, OSINTTYPE lower, OSINTTYPE upper)
{ 
   OSINTTYPE range_value;
   OSINTTYPE adjusted_value;
   int stat;

   /* Check for special case: if lower is 0 and upper is OSINTMAX,  */
   /* set range to OSINTMAX; otherwise to upper - lower + 1         */

   range_value = (lower == 0 && upper == OSINTMAX) ?
      OSINTMAX : upper - lower + 1;

   PU_NEWFIELD (pctxt, "ConsUnsigned");

   if (lower != upper) {
      stat = PD_CONSWHOLENUMBER (pctxt, &adjusted_value, range_value);
      if (stat == 0) {
         *pvalue = adjusted_value + lower;

         /* Verify value is within given range */
         if (*pvalue < lower || *pvalue > upper) {
            rtxErrAddElemNameParm (pctxt);
            RTXERRADDINTPARM (pctxt, *pvalue);
            return LOG_RTERR (pctxt, RTERR_CONSVIO);
         }
      }
      else return LOG_RTERR (pctxt, stat);
   }
   else *pvalue = lower;

   PU_SETBITCOUNT (pctxt);

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:35,代码来源:pd_ConsUnsigned.c


示例12: strcmp

EXTXMLMETHOD int rtAsn1XmlEncOpenType 
(OSCTXT *pctxt, const OSOCTET* data, OSUINT32 nocts, 
 const OSUTF8CHAR* elemName, const OSUTF8CHAR* nsPrefix) 
{
   OSUTF8CHAR* qname = 0;
   int stat;

   if (0 != isBinaryData (data, nocts)) {
      const OSUTF8CHAR *ename = (elemName == 0 || strcmp ("", elemName) == 0 ) ? 
         OSUTF8("binext") : elemName;

      qname = rtXmlNewQName (pctxt, ename, nsPrefix);
      
      if (0 != qname) {
         stat = rtXmlEncStartElement (pctxt, qname, 0, 0, TRUE);
         if (stat != 0) return LOG_RTERR (pctxt, stat);
      }
      else return RTERR_NOMEM;

      if (0 != data && nocts > 0) {
         stat = rtXmlEncHexStrValue (pctxt, nocts, data);
         pctxt->state = OSXMLDATA;

         if (stat != 0) return LOG_RTERR (pctxt, stat);
      }

      if (0 != qname) {
         stat = rtXmlEncEndElement (pctxt, qname, 0);
         if (stat != 0) return LOG_RTERR (pctxt, stat);

         rtxMemFreePtr (pctxt, qname);
      }
   }

   else {
      if (0 != elemName) {
         qname = rtXmlNewQName (pctxt, elemName, nsPrefix);

         if (0 != qname) {
            stat = rtXmlEncStartElement (pctxt, qname, 0, 0, TRUE);
            if (stat != 0) return LOG_RTERR (pctxt, stat);
         }
         else return RTERR_NOMEM;
      }

      if (0 != data && nocts > 0) {
         OSRTSAFEMEMCPY (pctxt, data, nocts);
         pctxt->state = OSXMLDATA;
      }

      if (0 != qname) {
         stat = rtXmlEncEndElement (pctxt, qname, 0);
         if (stat != 0) return LOG_RTERR (pctxt, stat);

         rtxMemFreePtr (pctxt, qname);
      }
   }

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:60,代码来源:rtAsn1XmlEncOpenType.c


示例13: xd_len

int xd_len (OSCTXT *pctxt, int *len_p)
{
    OSOCTET b = XD_FETCH1 (pctxt);
    register int	i;

    *len_p = 0;

    if (b > 0x80) {
        i = b & 0x7F;

        if (i > 4)
            return LOG_RTERR (pctxt, ASN_E_INVLEN);

        for (*len_p = 0; i > 0; i--) {
            b = XD_FETCH1 (pctxt);
            *len_p = (*len_p * 256) + b;
        }
    }
    else if (b == 0x80) *len_p = ASN_K_INDEFLEN;
    else *len_p = b;

    /* Length is not indefinite length */
    if (*len_p != ASN_K_INDEFLEN) {
        if (*len_p < 0 ||
                *len_p > (int)(pctxt->buffer.size - pctxt->buffer.byteIndex))
            return LOG_RTERR (pctxt, ASN_E_INVLEN);
    }

    return (0);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:30,代码来源:xd_len.c


示例14: berDecStrmInt8

int berDecStrmInt8 (OSCTXT *pctxt, OSINT8 *object_p, 
                    ASN1TagType tagging, int length) 
{ 
   register int stat = 0;

   if (tagging == ASN1EXPL) {
      stat = berDecStrmMatchTag (pctxt, ASN_ID_INT, &length, TRUE);
      /* RTERR_IDNOTFOU will be logged later, by the generated code, 
         or reset by rtxErrReset (for optional seq elements). */
      if (stat != 0) 
         return (stat == RTERR_IDNOTFOU) ? stat : LOG_RTERR (pctxt, stat);
   }

   /* Make sure integer will fit in target variable */

   if (length > (sizeof(OSINT8))) {
      return LOG_RTERR (pctxt, RTERR_TOOBIG);
   }
   else if (length <= 0)
      return LOG_RTERR (pctxt, ASN_E_INVLEN); /* note: indef len not allowed */

   /* Copy first byte into a signed char variable and assign it to */
   /* object.  This should handle sign extension in the case of a  */
   /* negative number..                                            */

   stat = rtxStreamRead (pctxt, (OSOCTET*)object_p, 1);
   if (stat < 0) return LOG_RTERR (pctxt, stat);

   return 0;
} 
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:30,代码来源:berDecStrmInt8.c


示例15: xerDecUInt64

int xerDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue)
{
   XMLCHAR* inpdata = (XMLCHAR*) ASN1BUFPTR (pctxt);
   int i;
   OSBOOL minus = FALSE;
   register OSUINT64 value = 0, prevVal = 0;

   *pvalue = 0;

   /* Consume leading white space */

   for (i = 0; inpdata[i] != 0; i++) {
      if (!OS_ISSPACE (inpdata[i])) break;
   }

   /* Convert Unicode characters to an integer value */

   for ( ; inpdata[i] != 0; i++, prevVal = value) {
      if (OS_ISDIGIT (inpdata[i]))
         value = (value * 10) + (inpdata[i] - '0');
      else
         return LOG_RTERR (pctxt, RTERR_INVCHAR);
      if (value/10 != prevVal)  /* test for int overflow AB, 09/27/02 */
         return LOG_RTERR (pctxt, RTERR_TOOBIG);
   }
   
   *pvalue = value;

   return (0);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:30,代码来源:xerDecUInt64.c


示例16: xerEncRelativeOID

int xerEncRelativeOID (OSCTXT* pctxt, const ASN1OBJID *pvalue, 
                       const char* elemName)
{
   char lbuf[40], *p;
   int  stat;
   OSUINT32 i;

   if (0 == elemName) elemName = "RELATIVE_OID";

   stat = xerEncStartElement (pctxt, elemName, 0);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   pctxt->state = XERDATA;
   for (i = 0; i < pvalue->numids; i++) {
      p = (char*) lbuf;
      if (i != 0)
         *p++ = '.';
      sprintf (p, "%d", pvalue->subid[i]);

      stat = xerCopyText (pctxt, lbuf);
      if (stat != 0) return LOG_RTERR (pctxt, stat);
   }

   stat = xerEncEndElement (pctxt, elemName);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   return (0);
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:28,代码来源:xerEncRelativeOID.c


示例17: OSUTF8LEN

EXTXMLMETHOD int OSXMLEncodeBuffer::addXMLHeader (
const OSUTF8CHAR* version, const OSUTF8CHAR* encoding, OSBOOL newLine)
{
   if (0 != version && 0 != encoding) {
      size_t len = OSUTF8LEN(version) + OSUTF8LEN(encoding) + 32;
      OSCTXT* pctxt = getCtxtPtr();

      /* Encode Unicode BOM */
      int stat = rtXmlEncBOM (pctxt);
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      // Verify text will fit in encode buffer
      stat = rtxCheckBuffer (pctxt, len+1);
      if (stat != 0) return LOG_RTERR (pctxt, stat);

      OSRTMEMCPY (pctxt, "<?xml version=\"", 15);
      OSRTMEMCPY (pctxt, version, OSUTF8LEN(version));
      OSRTMEMCPY (pctxt, "\" encoding=\"", 12);
      OSRTMEMCPY (pctxt, encoding, OSUTF8LEN(encoding));
      OSRTMEMCPY (pctxt, "\"?>", 3);
      if (newLine) OSRTPUTCHAR (pctxt, '\n');

      // Indicate XML message shouls be encoded as a fragment since
      // header had already been added manually..
      setFragment ();
   }
   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:28,代码来源:OSXMLEncodeBuffer.cpp


示例18: xd_int8

int xd_int8 (OSCTXT *pctxt, OSINT8 *object_p,
             ASN1TagType tagging, int length)
{
    register int status = 0;

    if (tagging == ASN1EXPL) {
        if ((status = XD_CHKDEFLEN (pctxt, 3)) != 0) /* tag + len + val */
            return LOG_RTERR (pctxt, status);

        if (!XD_MATCH1 (pctxt, ASN_ID_INT)) {
            return berErrUnexpTag (pctxt, ASN_ID_INT);
        }
        length = (int) XD_FETCH1 (pctxt);
    }

    /* Make sure integer will fit in target variable */

    if (length != sizeof(OSINT8)) { /* note: only 1 byte len is allowed */
        return LOG_RTERR (pctxt, ASN_E_INVLEN);
    }

    *object_p = (OSINT8) XD_FETCH1 (pctxt);

    return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:25,代码来源:xd_int8.c


示例19: XmlEnc_EncodingStyle_1

int XmlEnc_EncodingStyle_1 (OSCTXT* pctxt, EncodingStyle_1* pvalue, 
   const OSUTF8CHAR* elemName, const OSUTF8CHAR* nsPrefix)
{
   int stat = 0;

   if (elemName != 0) {
      stat = rtXmlEncStartElement (pctxt, elemName, nsPrefix, TRUE);
      if (stat != 0) return LOG_RTERR (pctxt, stat);
   }

   { const OSUTF8CHAR* savedPrefix = nsPrefix;
   nsPrefix = rtXmlNSGetPrefix (pctxt, OSUTF8(
      "http://schemas.xmlsoap.org/soap/envelope/"));

   { OSRTDListNode* pnode = pvalue->head;
   while (0 != pnode) {
      stat = rtXmlEncUTF8Str (pctxt, ((const OSUTF8CHAR*)pnode->data)
         , OSUTF8(""), 0);
      if (stat != 0) return LOG_RTERR (pctxt, stat);
      OSRTSAFEPUTCHAR (pctxt, ' ');
      pnode = pnode->next;
   }}
   nsPrefix = savedPrefix;
   }

   stat = rtXmlEncEndElement (pctxt, elemName, nsPrefix);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   return (stat);
}
开发者ID:amitabha66,项目名称:JLibrary06,代码行数:30,代码来源:Soap-1-1Enc.c


示例20: berEncStrmBMPStr

int berEncStrmBMPStr (OSCTXT* pctxt, const Asn116BitCharString* object_p,
                      ASN1TagType tagging)
{
   OSOCTET lbuf[2];
   int stat;
   OSUINT32 i;

   if (0 == object_p) return LOG_RTERR (pctxt, RTERR_BADVALUE);

   if (tagging == ASN1EXPL) 
      stat = berEncStrmTagAndLen (pctxt, TM_UNIV|TM_PRIM|ASN_ID_BMPString, 
                                  object_p->nchars * 2);
   else
      stat = berEncStrmLength (pctxt, object_p->nchars * 2);
   if (stat != 0) return LOG_RTERR (pctxt, stat);

   for (i = 0; i < object_p->nchars; i++) {
      lbuf[0] = (OSOCTET) (object_p->data[i] / 256);
      lbuf[1] = (OSOCTET) (object_p->data[i] % 256);

      stat = berEncStrmWriteOctets (pctxt, lbuf, 2);
      if (stat != 0) return LOG_RTERR (pctxt, stat);
   }

   return 0;
}
开发者ID:jlcbj,项目名称:Comba_IUH,代码行数:26,代码来源:berEncStrmBMPStr.c



注:本文中的LOG_RTERR函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ LOG_SCOPE函数代码示例发布时间:2022-05-30
下一篇:
C++ LOG_RESULT_LOCATION函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap