{\r
for (size_t k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
{\r
- if ((PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC == Adr) && (!Tag || (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].Tag == Tag)))\r
+ if (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC <= Adr)\r
+ {\r
+ if ((PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC == Adr) && (!Tag || (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].Tag == Tag)))\r
+ {\r
+ return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].NumLineSrc;\r
+ }\r
+ }\r
+ else\r
{\r
- return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].NumLineSrc;\r
+ return PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k - 1].NumLineSrc;\r
}\r
}\r
}\r