static int ParseOneOf( ParseContext* ctx, ConfigToken* tokens, int sz ) { ConfigToken parsed_token = Token_Unknown; int i = 0; parsed_token = ParseToken( ctx ); for( i = 0; i < sz; i++ ) { if( parsed_token == tokens[i] ) return tokens[i]; } if( parsed_token != Token_Unknown ) { sprintf( error_buffer, "%s: unexpected configuration token: found: '%s', expected one of: %s", ERROR_PREFIX, TokenToString( parsed_token ), TokensToString( tokens, sz ) ); } else { sprintf( error_buffer, "%s: unknown configuration token: '%s', expected one of: %s", ERROR_PREFIX, ctx->token, TokensToString( tokens, sz ) ); } return CONFIG_PARSE_ERROR; }
void Directory::Make(std::string directory) { std::list<std::string> dirs = Tokenize(directory); if (dirs.size() > 1) { dirs.pop_back(); Make(TokensToString(dirs)); } if (Directory::Exists(directory)) { return; //throw Core::Exception("directory allready exists: " + directory); } if (mkdir(directory.c_str(),0777) != 0) { throw Core::Exception("could not create directory: " + directory); } }