text: //***************************************************************************
  //
  //  Copyright (c) 1999 - 2006 Intel Corporation
  //
  //  Licensed under the Apache License, Version 2.0 (the "License");
  //  you may not use this file except in compliance with the License.
  //  You may obtain a copy of the License at
  //
  //     http://www.apache.org/licenses/LICENSE-2.0
  //
  //  Unless required by applicable law or agreed to in writing, software
  //  distributed under the License is distributed on an "AS IS" BASIS,
  //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  //  See the License for the specific language governing permissions and
  //  limitations under the License.
  //
  //***************************************************************************
  //
  
  #include "u3dparsefile.h"
  
  U3dStatus u3dDisposeInfo0xFFFFFF5C(U3dCallBack *u3dcb, U32 position,
                                     U8* pData, U32 size, U32* readData)
  {
      xmlNodePtr	curnode = u3dcb->curnode;
      U32         shift = 0;
      U16			stringlen;
      U32			index;
      char		value[65536];
  
      if(curnode == 0) {
          return u3dStsBadArgErr;
      } /* if */
      u3dcb->data = pData;
      u3dcb->size = size;
      u3dDecoderReset(u3dcb->u3ddecoder, u3dcb, myMap);
      if(size < sizeof(U16)) {
          return 0;
      } /* if */
      size -= sizeof(U16);
      u3dGetU16(u3dcb->u3ddecoder, &stringlen);
      if(size < stringlen) {
          return 0;
      } /* if */
      for(index = 0; index < stringlen; index++) {
          u3dGetU8(u3dcb->u3ddecoder, &value[index]);
      } /* for */
      value[index] = 0;
      xmlNewProp(curnode, "name", value);
  
      return u3dStsNoErr;
  } /* u3dDisposeInfo0xFFFFFF5C */
  
  
  