497b_uppsrc.diff
uppsrc/ide/Browser/Item.cpp 2013-07-28 01:46:55 +0400 | ||
---|---|---|
74 | 74 |
LLOG("ParseItemNatural " << m.natural << ", pname: " << m.pname |
75 | 75 |
<< ", tname: " << m.tname << ", m.ctname: " << m.ctname); |
76 | 76 |
Vector<ItemTextPart> part; |
77 |
const int length = name.GetLength(); |
|
77 | 78 |
bool param = false; |
78 | 79 |
int pari = -1; |
79 | 80 |
int par = 0; |
80 | 81 |
while(*s) { |
81 |
ItemTextPart& p = part.Add();
|
|
82 |
ItemTextPart p;
|
|
82 | 83 |
p.pos = (int)(s - ~m.natural); |
83 | 84 |
p.type = ITEM_TEXT; |
84 | 85 |
p.pari = pari; |
... | ... | |
90 | 91 |
} |
91 | 92 |
else |
92 | 93 |
if(iscid(*s) || *s == ':') { |
93 |
if(strncmp(s, name, name.GetLength()) == 0 && !iscid(s[name.GetLength()])) {
|
|
94 |
if(strncmp(s, name, length) == 0 && !iscid(s[length])) {
|
|
94 | 95 |
p.type = ITEM_NAME; |
95 |
n = name.GetLength();
|
|
96 |
n = length;
|
|
96 | 97 |
param = true; |
97 | 98 |
} |
98 | 99 |
else { |
... | ... | |
161 | 162 |
while(s[n] && !iscid(s[n])) |
162 | 163 |
n++; |
163 | 164 |
} |
164 |
p.len = n; |
|
165 |
s += n; |
|
165 |
if(n) { |
|
166 |
p.len = n; |
|
167 |
s += n; |
|
168 |
part.Add(p); |
|
169 |
} |
|
170 |
else |
|
171 |
++s; |
|
166 | 172 |
} |
167 | 173 |
return part; |
168 | 174 |
} |