pWorkrow = pData->pWorkrow + 1;
pWorkrow = pData->pWorkrow + pData->iPixelofs;
mng_retcode process_ga8 (mng_datap pData){  mng_uint8p pWorkrow;  mng_uint8p pRGBArow;  mng_int32  iX;#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_PROCESS_GA8, MNG_LC_START)#endif  pWorkrow = pData->pWorkrow + 1;      /* temporary workpointers */  pRGBArow = pData->pRGBArow;  for (iX = 0; iX < pData->iRowsamples; iX++)  {    *pRGBArow     = *pWorkrow;         /* copy the gray value */    *(pRGBArow+1) = *pWorkrow;    *(pRGBArow+2) = *pWorkrow;    *(pRGBArow+3) = *(pWorkrow+1);     /* copy the alpha value */    pWorkrow += 2;                     /* next pixel */    pRGBArow += 4;  }  pData->bIsOpaque = MNG_FALSE;        /* it's definitely not fully opaque */#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_PROCESS_GA8, MNG_LC_END)#endif  return MNG_NOERROR;}