struct i_locdata *d ;
{
	Glimit area;
	Gloc init;
	Glocrec data;
	Glocpet0004 *p;
	Glocpet0005 *k;
	int asf;

	if(prompt != 5)
	{
	p = &data.locpet4_datarec;
	if( d->iloc_un.iloc_pl.il4_curr == TRUE)
		p->acf = GCURRENT;
	else
		p->acf = GSPECIFIED;

	asf = d->iloc_un.iloc_pl.il4_asf;
	p->ln.type = (asf & ASFPLTYP) ? GINDIVIDUAL : GBUNDLED;
	p->ln.width = (asf & ASFPLWD) ? GINDIVIDUAL : GBUNDLED;
	p->ln.colour = (asf & ASFPLCOL) ? GINDIVIDUAL : GBUNDLED;
	p->ln.line = d->iloc_un.iloc_pl.il4_bnd;
	p->ln.bundl.type = d->iloc_un.iloc_pl.il4_plr.pl_type;
	p->ln.bundl.width = d->iloc_un.iloc_pl.il4_plr.pl_wdth;
	p->ln.bundl.colour = d->iloc_un.iloc_pl.il4_plr.pl_col;
	}
	else
	{
	k = &data.locpet5_datarec;
	asf = d->iloc_un.iloc_fa.il5_asf;

	if( d->iloc_un.iloc_fa.il5_curr == TRUE)
		k->acf = GCURRENT;
	else
		k->acf = GSPECIFIED;

	if( d->il5_poly == TRUE)
		{
		k->pfcf = GPF_POLYLINE;
		k->attr.ln.type = (asf & ASFPLTYP) ? GINDIVIDUAL : GBUNDLED;
		k->attr.ln.width = (asf & ASFPLWD) ? GINDIVIDUAL : GBUNDLED;
		k->attr.ln.colour = (asf & ASFPLCOL) ? GINDIVIDUAL : GBUNDLED;
		k->attr.ln.line = d->iloc_un.iloc_pl.il4_bnd;
		k->attr.ln.bundl.type = d->iloc_un.iloc_pl.il4_plr.pl_type;
		k->attr.ln.bundl.width = d->iloc_un.iloc_pl.il4_plr.pl_wdth;
		k->attr.ln.bundl.colour = d->iloc_un.iloc_pl.il4_plr.pl_col;
		}
	else
		{
		k->pfcf = GPF_FILLAREA;
	k->attr.fl.inter = (asf & ASFFILIN) ? GINDIVIDUAL : GBUNDLED;
	k->attr.fl.style = (asf & ASFFILSTL) ? GINDIVIDUAL : GBUNDLED;
	k->attr.fl.colour = (asf & ASFFILCOL) ? GINDIVIDUAL : GBUNDLED;
	k->attr.fl.fill = d->iloc_un.iloc_fa.il5_bnd;
	k->attr.fl.bundl.inter =
		(Gflinter)d->iloc_un.iloc_fa.il5_far.fa_istyle;
	k->attr.fl.bundl.style = d->iloc_un.iloc_fa.il5_far.fa_style;
	k->attr.fl.bundl.colour = d->iloc_un.iloc_fa.il5_far.fa_col;
		}
	}

