Subversion Repositories Kolibri OS

Rev

Rev 2840 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3061 leency 1
unsigned int GetNextParam()
2824 leency 2
{
3
	byte	kavichki = false;
4
	int		i = strlen(#tagparam) - 1;
5
 
3061 leency 6
	if (!tagparam) return 0;
7
 
2824 leency 8
	WHILE((i > 0) && ((tagparam[i] == '"') || (tagparam[i] == ' ') || (tagparam[i] == '\'') || (tagparam[i] == '/')))
9
	{
10
		IF (tagparam[i] == '"') || (tagparam[i] == '\'') kavichki=tagparam[i];
11
		tagparam[i] = 0x00;
12
		i--;
13
	}
14
 
2840 leency 15
	if (kavichki)
2824 leency 16
	{
2839 leency 17
		i=strrchr(#tagparam, kavichki);
2840 leency 18
		if (i>sizeof(options))
19
			strcpy(#options, #tagparam + sizeof(options));
20
		else
21
			strcpy(#options, #tagparam + i);
2824 leency 22
	}
2840 leency 23
	else
2824 leency 24
	{
2839 leency 25
		WHILE((i > 0) && (tagparam[i] <>'=')) i--; //i=strrchr(#tagparam, '=')+1;
2824 leency 26
		i++;
2840 leency 27
		if (i>sizeof(options))
28
			strcpy(#options, #tagparam + sizeof(options));
29
		else
30
			strcpy(#options, #tagparam + i);
31
 
2824 leency 32
		WHILE (options[0] == ' ') strcpy(#options, #options+1);
33
	}
34
	tagparam[i] = 0x00;
35
 
36
	FOR ( ; ((tagparam[i] <>' ') && (i > 0); i--)
37
	{
38
		IF (tagparam[i] == '=') //дерзкая заглушка
39
			tagparam[i + 1] = 0x00;
40
	}
41
 
2840 leency 42
	if (i>sizeof(parametr))
43
		strcpy(#parametr, #tagparam + sizeof(parametr));
44
	else
45
		strcpy(#parametr, #tagparam + i + 1);
46
 
2824 leency 47
	tagparam[i] = 0x00;
3061 leency 48
 
49
	return 1;
2840 leency 50
}