((mng_chunk_headerp)*ppChunk)->iChunkname = pData->iChunkname;
READ_CHUNK (read_unknown){#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_READ_UNKNOWN, MNG_LC_START)#endif                                       /* sequence checks */#ifdef MNG_INCLUDE_JNG  if ((!pData->bHasMHDR) && (!pData->bHasIHDR) &&      (!pData->bHasBASI) && (!pData->bHasDHDR) && (!pData->bHasJHDR))#else  if ((!pData->bHasMHDR) && (!pData->bHasIHDR) &&      (!pData->bHasBASI) && (!pData->bHasDHDR)    )#endif    MNG_ERROR (pData, MNG_SEQUENCEERROR)#ifdef MNG_STORE_CHUNKS  if (pData->bStorechunks)  {                                    /* initialize storage */    mng_retcode iRetcode = ((mng_chunk_headerp)pHeader)->fCreate (pData, pHeader, ppChunk);    if (iRetcode)                      /* on error bail out */      return iRetcode;                                       /* store the length */    ((mng_unknown_chunkp)*ppChunk)->iDatasize = iRawlen;    if (iRawlen == 0)                  /* any data at all ? */      ((mng_unknown_chunkp)*ppChunk)->pData = 0;    else    {                                  /* then store it */      MNG_ALLOC (pData, ((mng_unknown_chunkp)*ppChunk)->pData, iRawlen)      MNG_COPY (((mng_unknown_chunkp)*ppChunk)->pData, pRawdata, iRawlen)    }  }#endif /* MNG_STORE_CHUNKS */#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_READ_UNKNOWN, MNG_LC_END)#endif  return MNG_NOERROR;                  /* done */}