rem: return B_NO_ERROR;
add: return NO_PARAMETER;
context: get_word(char **_pos, char **_word, bool allowNewLine){	char *pos = *_pos;	char quoted = 0;	bool newLine = false, end = false;	int escaped = 0;	bool charEscaped = false;	// Skip any white space and comments	while (pos[0]		&& ((allowNewLine && (isspace(pos[0]) || is_parameter_separator(pos[0]) || pos[0] == '#'))		|| (!allowNewLine && (pos[0] == '\t' || pos[0] == ' ')))) {		// skip any comment lines		if (pos[0] == '#') {			while (pos[0] && pos[0] != '\n')				pos++;		}		pos++;	}	if (pos[0] == '}') {		*_pos = pos;		return B_NO_ERROR;	}	// Read in a word - might contain escaped (\) spaces, or it	// might also be quoted (" or ').	if (pos[0] == '"' || pos[0] == '\'') {		quoted = pos[0];		pos++;	}	*_word = pos;	while (pos[0]) {		if (charEscaped)			charEscaped = false;		else if (pos[0] == '\\') {			charEscaped = true;			escaped++;		} else if ((!quoted && is_word_break(pos[0])) || (quoted && pos[0] == quoted))			break;		pos++;	}	// "String exceeds line" - missing end quote	if (quoted && pos[0] != quoted)		return B_BAD_DATA;	// last character is a backslash	if (charEscaped)		return B_BAD_DATA;	end = pos[0] == '\0';	newLine = is_parameter_separator(pos[0]) || end;	pos[0] = '\0';	// Correct name if there were any escaped characters	if (escaped) {		char *word = *_word;		int offset = 0;		while (word <= pos) {			if (word[0] == '\\') {				offset--;				word++;			}			word[offset] = word[0];			word++;		}	}	if (end) {		*_pos = pos;		return B_OK;	}	// Scan for next beginning word, open brackets, or comment start	pos++;	while (true) {		*_pos = pos;		if (!pos[0])			return B_NO_ERROR;		if (is_parameter_separator(pos[0])) {			// an open bracket '{' could follow after the first			// newline, but not later			if (newLine)				return B_NO_ERROR;			newLine = true;		} else if (pos[0] == '{' || pos[0] == '}' || pos[0] == '#')			return B_NO_ERROR;		else if (!isspace(pos[0]))			return newLine ? B_NO_ERROR : CONTINUE_PARAMETER;		pos++;	}}