CharData.cxx
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:4k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. /* ====================================================================
  2.  * The Vovida Software License, Version 1.0 
  3.  * 
  4.  * Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
  5.  * 
  6.  * Redistribution and use in source and binary forms, with or without
  7.  * modification, are permitted provided that the following conditions
  8.  * are met:
  9.  * 
  10.  * 1. Redistributions of source code must retain the above copyright
  11.  *    notice, this list of conditions and the following disclaimer.
  12.  * 
  13.  * 2. Redistributions in binary form must reproduce the above copyright
  14.  *    notice, this list of conditions and the following disclaimer in
  15.  *    the documentation and/or other materials provided with the
  16.  *    distribution.
  17.  * 
  18.  * 3. The names "VOCAL", "Vovida Open Communication Application Library",
  19.  *    and "Vovida Open Communication Application Library (VOCAL)" must
  20.  *    not be used to endorse or promote products derived from this
  21.  *    software without prior written permission. For written
  22.  *    permission, please contact vocal@vovida.org.
  23.  *
  24.  * 4. Products derived from this software may not be called "VOCAL", nor
  25.  *    may "VOCAL" appear in their name, without prior written
  26.  *    permission of Vovida Networks, Inc.
  27.  * 
  28.  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
  29.  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  30.  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
  31.  * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
  32.  * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
  33.  * IN EXCESS OF 281421,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
  34.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  35.  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  36.  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  37.  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  38.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  39.  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  40.  * DAMAGE.
  41.  * 
  42.  * ====================================================================
  43.  * 
  44.  * This software consists of voluntary contributions made by Vovida
  45.  * Networks, Inc. and many individuals on behalf of Vovida Networks,
  46.  * Inc.  For more information on Vovida Networks, Inc., please see
  47.  * <http://www.vovida.org/>.
  48.  *
  49.  */
  50. static const char* const CharData_cxx_Version =
  51.     "$Id: CharData.cxx,v 1.6 2001/05/15 20:26:12 bko Exp $";
  52. #include <string.h>
  53. #include "CharData.hxx"
  54. u_int8_t CharData::myCaseInsensitiveArray[] =
  55. {
  56. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
  57. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
  58. 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
  59. 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
  60. 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 
  61. 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 
  62. 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, // 65-90 = 97-122 
  63. 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 
  64. 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
  65. 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 
  66. 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 
  67. 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 
  68. 120, 121, 122, 123, 124, 125, 126, 127, 128, 129 
  69. };
  70. bool CharData::isEqualNoCase(const char* data, const u_int32_t len) const
  71. {
  72. assert(data != NULL);
  73.     assert(myCharPtr != 0);
  74. if (len == myCharLen)
  75. {
  76. for (u_int32_t i = 0; i < len; i++)
  77. if (myCaseInsensitiveArray[*(myCharPtr+i)] != 
  78.                 myCaseInsensitiveArray[data[i]])
  79. return false;
  80. return true;
  81. }
  82. return false;
  83. }
  84. bool CharData::isEmptyLine()
  85. {
  86.     assert(myCharPtr != 0);
  87.     if ((*myCharPtr == 'r') && (*(myCharPtr + 1) == 'n') && (myCharLen == 2))
  88.         return true;
  89.     return false;
  90. }
  91. /* Local Variables: */
  92. /* c-file-style: "stroustrup" */
  93. /* indent-tabs-mode: nil */
  94. /* c-file-offsets: ((access-label . -) (inclass . ++)) */
  95. /* c-basic-offset: 4 */
  96. /* End: */