static void createScriptEntry(Directory & container, MultipartStream * out, const char * objname, const char * member, bool mode = true) { string work; string inib; Directory * scope; int i, j; (*out) << container.format("\n\t\t/* $@ */\n\n"); if(mode) { scope = container.getFirstChild(); while(scope != 0) { work = scope->getKey(); if(work[0] < '0' || work[1] > '9') (*out) << "\tOBJECT(" << container.getKey() << '_' << scope->toInteger() << ',' << work << ");\n"; scope = scope->getNext(); } (*out) << container.format("\tEVAR(ID,_kernel_tmax_$(/prefix/$@/id)id);\n"); }else { i = 0; scope = container.getFirstChild(); while(scope != 0) { work = scope->getKey(); (*out) << "\tOBJECT(" << container.getKey() << '_' << (i++) << ',' << scope->getKey() << ");\n"; scope = scope->getNext(); } (*out) << container.format("\tEVAR(ID,_kernel_tnum_$(/prefix/$@/id)no);\n"); } (*out) << container.format("\tEVAR($(/prefix/$@/SID)INIB,_kernel_$(/prefix/$@/sid)inib_table);\n"); work.assign(member); i = 0; j = work.find_first_of(','); if(objname == NULL) inib = container.getKey(); else inib = objname; do { (*out) << "\tMEMBER(" << inib << "_initialization_block," << work.substr(i, j-i) << ");\n"; i = j + 1; j = work.find_first_of(',', i); } while(i != string::npos+1); (*out) << '\n'; }