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