/************************************************************************** * * AESFAST PD utilties. * * Resource-related utilities 1... * rsc_sstrings * * 05/26/90 - v1.4 * > Added support for ICONs. *************************************************************************/ #include /*------------------------------------------------------------------------- * rsc_sstrings - Set string pointers within rsc tree. * * Will this work with MWC? Good question, it depends on how MWC puts * parms on the stack... *-----------------------------------------------------------------------*/ typedef struct { int object; long stringptr; } OBJSTR; void rsc_sstrings(ptree, parms) register OBJECT *ptree; OBJSTR parms[]; { register OBJECT *pobj; register OBJSTR *pparms; register long *pspec; for (pparms = parms; pparms->object >= 0; pparms++) { pobj = &ptree[pparms->object]; pspec = &(pobj->ob_spec); if (pobj->ob_flags & INDIRECT) { pspec = (long *)*pspec; } switch (pobj->ob_type & 0x00FF) { case G_ICON: pspec = (long *)*pspec; pspec = &pspec[2]; /* add 12-byte offset to pointer */ break; case G_TEXT: case G_BOXTEXT: case G_FTEXT: case G_FBOXTEXT: pspec = (long *)*pspec; break; } *pspec = pparms->stringptr; } }