Jim- Great example, and nice clear concise description - I will add a test to the testing tool to check for this...
-Dan On Dec 21, 2010, at 3:05 PM, Jim Lawson wrote: > Hi help-cfengine, > > Happy winter/summer solstice (depending on which hemisphere you live in)! > > I am trying to create an associative array using strings containing > spaces as indices. Problem is, it doesn't seem to work with getindices, > although cf-promises doesn't complain about it. > > Here's some example code: > > ---- > > body common control { > bundlesequence => { "main" }; > } > > bundle agent main { > vars: > "myarray[entry one]" string => "One"; > "myarray[entry two]" string => "Two"; > "myarray[entry three]" string => "Three"; > > "myarray_indices" slist => getindices(myarray); > > reports: > > cfengine_3_1_2:: > "a myarray index: $(myarray_indices)"; > > } > > ---- > > This returns: "R: a myarray index: entr" as opposed to what you might > expect. > > Because it is possible to address arrays with these keys (e.g. > $(myarray[entry three]) works) I assume this is a problem with > getindices, but maybe array keys were not supposed to have spaces... If > that's so, it would be nice if cf-promises raised an error if they were > used. > > Since a frequent question is "what are you trying to do with this?", I'm > trying to create an edit_line bundle in the style of > "set_variable_values" from cfengine_stdlib.cf, using keys with > whitespace in them, for editing files like /etc/security/limits.conf. > For example: > > vars: > "limits_conf[oracle soft nproc]" string => "2047"; > "limits_conf[oracle hard nproc]" string => "16384"; > "limits_conf[oracle soft nofile]" string => "4096"; > > files: > > "/etc/security/limits.conf" > edit_line => set_variable_values_whitespace("main.limits_conf"); > > ... hopefully you get the idea. Thanks for any help. > > Best, > Jim Lawson > University of Vermont > > > > _______________________________________________ > Help-cfengine mailing list > Help-cfengine@cfengine.org > https://cfengine.org/mailman/listinfo/help-cfengine _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine