示例#1
0
文件: msg.c 项目: cspiegel/garglk
/*======================================================================*/
void printMessageWithParameters(MsgKind msg, Parameter *messageParameters)
{
    Parameter *savedParameters = newParameterArray();

    copyParameterArray(savedParameters, globalParameters);
    copyParameterArray(globalParameters, messageParameters);

    interpret(msgs[msg].stms);

    copyParameterArray(globalParameters, savedParameters);
    freeParameterArray(savedParameters);
}
示例#2
0
文件: params.c 项目: BPaden/garglk
/*======================================================================*/
void copyParameter(Parameter *to, Parameter *from) {
    Parameter *theCopyCandidates = to->candidates;
    *to = *from;
    if (lengthOfParameterArray(theCopyCandidates) < lengthOfParameterArray(from->candidates))
		// TODO Should we free the from->candidates here
		to->candidates = allocateParameterArray(MAXENTITY);
    copyParameterArray(to->candidates, from->candidates);
}
示例#3
0
文件: params.c 项目: BPaden/garglk
/*======================================================================*/
void setParameters(Parameter *newParameters) {
    if (globalParameters == NULL)
        globalParameters = allocateParameterArray(MAXENTITY);
    copyParameterArray(globalParameters, newParameters);
}