static int process_proxy_cond_adders(unsigned int letters[26],
	const char *cond, const char **cond_end, int *pos, int indent)
	{
	int ok;
	char c;

	if (debug)
		process_proxy_debug(indent,
			"Start process_proxy_cond_adders at position %d: %s\n",
			*pos, cond);

	ok = process_proxy_cond_multipliers(letters, cond, cond_end, pos,
		indent + 1);
	cond = *cond_end;
	if (ok < 0)
		goto end;

	while(ok >= 0)
		{
		while(isspace((int)*cond))
			{
			cond++; (*pos)++;
			}
		c = *cond;

		switch(c)
			{
		case '|':
			{
			int save_ok = ok;

			cond++; (*pos)++;
			ok = process_proxy_cond_multipliers(letters,
				cond, cond_end, pos, indent + 1);
			cond = *cond_end;
			if (ok < 0)
				break;

			switch(c)
				{
			case '|':
				ok |= save_ok;
				break;
			default:
				fprintf(stderr, "SOMETHING IS SERIOUSLY WRONG!"
					" STOPPING\n");
				EXIT(1);
				}
			}
			break;
		default:
			goto end;
			}
		}
 end:
	if (debug)
		process_proxy_debug(indent,
			"End process_proxy_cond_adders at position %d: %s, returning %d\n",
			*pos, cond, ok);

	*cond_end = cond;
	return ok;
	}
static int process_proxy_cond_adders(unsigned int letters[26],
	const char *cond, const char **cond_end, int *pos, int indent)
	{
	int ok;
	char c;

	if (debug)
		process_proxy_debug(indent,
			"Start process_proxy_cond_adders at position %d: %s\n",
			*pos, cond);

	ok = process_proxy_cond_multipliers(letters, cond, cond_end, pos,
		indent + 1);
	cond = *cond_end;
	if (ok < 0)
		goto end;

	while(ok >= 0)
		{
		while(isspace((int)*cond))
			{
			cond++; (*pos)++;
			}
		c = *cond;

		switch(c)
			{
		case '|':
			{
			int save_ok = ok;

			cond++; (*pos)++;
			ok = process_proxy_cond_multipliers(letters,
				cond, cond_end, pos, indent + 1);
			cond = *cond_end;
			if (ok < 0)
				break;

			switch(c)
				{
			case '|':
				ok |= save_ok;
				break;
			default:
				fprintf(stderr, "SOMETHING IS SERIOUSLY WRONG!"
					" STOPPING\n");
				EXIT(1);
				}
			}
			break;
		default:
			goto end;
			}
		}
 end:
	if (debug)
		process_proxy_debug(indent,
			"End process_proxy_cond_adders at position %d: %s, returning %d\n",
			*pos, cond, ok);

	*cond_end = cond;
	return ok;
	}