Thanks very much Eric and Jack. I can make it work using 'indir'.
Regards Varghese Paul On Sat, Jan 21, 2017 at 4:42 AM, Eric Blake <[email protected]> wrote: > On 01/19/2017 09:50 PM, Varghese Paul wrote: > > Hi all, > > > > Nedd a help on the below program. How can i convert the formatted strings > > to MARCO ?. In the below program i am not able to replace the FORMATTED > > strings to macro. > > > > > > > > > forloop(`i', `1', APP_DOMAINS, > > ``VARIABLE_APP_PORT'i' > > So you are trying to construct a macro name to be called, where each > iteration of the loop constructs another macro name. The problem with > your approach is that there is no way to expand i without first parsing > over the string `VARIABLE_APP_PORT', making that text ineligible for > rescanning. Sounds like you want to use indir: > > forloop(`i', `1', APP_DOMAINS, > `indir(`VARIABLE_APP_PORT'i)' > ) > > Or, if you want to stick to straight POSIX m4, you'll have to write a > helper macro that concatenates two arguments and then scans the overall > result for a macro name: > > define(`concat', `$1$2')dnl > forloop(`i',`1',APP_DOMAINS, > `concat(`VARIABLE_APP_PORT',i)' > ) > > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > >
