рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХреИрд╕реЗ рдХрдо рдХрд░реЗрдВред рдиреЛрдЯ N рез

рдорд┐рд░рд╛рдВрдбрд╛ IM рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдореБрдЭреЗ рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдорд┐рд░рд╛рдВрдбрд╛ IM рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдореИрд╕реЗрдВрдЬрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдХреЛрдб рдорд┐рд▓рд╛ред рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ C рдФрд░ C ++ рдореЗрдВ рд▓рдЧрднрдЧ 950 рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдФрд░, рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдареЛрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЯрд╛рдЗрдкреЛрд╕ рдХреА рдХрд╛рдлреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рджреЛрд╖реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдХреБрдЫ рдкреИрдЯрд░реНрди рджреЗрдЦреЗред рдФрд░ рдЕрдм, рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдореЗрдВ рдкрд╛рдП рдЧрдП рджреЛрд╖реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде, рдореИрдВ рдХреБрдЫ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рд▓реЗрдЦрди рдХреЛрдб рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЯрд╛рдЗрдкреЛ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред



рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ 4.14 рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рд╣рд╛рдВ, рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдерд╛)ред рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХреЛрдб рдмрд╣реБрдд рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╕реНрд╡рдпрдВ рдЗрд╕ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХреА рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рд╕реНрддрд░ 3 (/ W3) рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╛рда рдХрд╛ 20% рд╣реИред

1. рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, memcpy, ZeroMemory рдФрд░ рдкрд╕рдВрдж рдХрд░реЗрдВ


рд╣рдо рдирд┐рдореНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдореЗрдореЛрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреИрд╕реЗ рдХрд┐ рдореЗрдорд╕реЗрдЯ, рдореЗрдорд╕реАрдкреА, рдЬрд╝реАрд░реЛрдореЗрд░реА рдФрд░ рдЬреИрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣реЛрддреА рд╣реИрдВред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд╣рд░ рддрд░рд╣ рд╕реЗ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрдЪреЗрдВред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рдЪрдореБрдЪ рдореЗрд░реА рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫреЛрд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЗрддрдиреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦреА рд╣реИ рдХрд┐ рдореИрдВ рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдФрд░ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдЪрд┐рдд рд╣реИ:

1) рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред рдпрд╣реА рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рд╕рд░рд▓ рдЪрдХреНрд░ рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрддреНрд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рд╛рдн рджреЗрдЧрд╛ред

2) рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫреЛрдЯреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдорд┐рд░рд╛рдВрдбрд╛ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рдЧрддреА рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдпрд╛ рд╡рд┐рд╢рд╛рд▓ рд╕рд░рдгрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╢реЙрд░реНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╕реЗ рдХреЗрд╡рд▓ рдореЗрдорд╕реЗрдЯ / рдореЗрдореНрдкреА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдЬрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рд╛рджрдЧреА рдмрд╣реБрдд рд╣реА рднреНрд░рд╛рдордХ рд╣реИ рдФрд░, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдкрд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдмрдЪрд╛рдиреЗ рдкрд░, рдЖрдк рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрдЯ рдореЗрдореЛрд░реА рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд▓рд┐рдП рдЧрдП рдХреБрдЫ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

V512 ' рдореЗрдорд╕реАрдкреА ' рдлрдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рдЕрдВрдбрд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред tabsrmm рдмрд░реНрддрдиред 1080
  typedef рд╕рдВрд░рдЪрдирд╛ _textrangew
 {
   рд╡рд░реНрдг рдХреНрд░рдо;
   LPWSTR lpstrText;
 } TEXTRANGEW;

 const wchar_t * Utils: extractURLFromRichEdit (...)
 {
   ...
   :: рдХреЙрдкреАрдореЗрд░реА (tr.lpstrText, L "mailto:", 7);
   ...
 } 

рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдХреЙрдкреА рдХрд░реЗрдВред рдПрдХ рдЧрд▓рддреА рдЕрдкрдорд╛рдирдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкрд╣рд▓реЗ 'рдЪрд╛рд░' рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдФрд░ рдирд┐рд░рдВрддрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЧрдПред

рдпрджрд┐ рдЖрдк рд╢реБрд░реВ рдореЗрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рддреЛ рдРрд╕реА рддреНрд░реБрдЯрд┐ рдмрд╕ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдРрд╕рд╛ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
  strncpy (tr.lpstrText, "mailto:", 7); 

рдлрд┐рд░, рдпреВрдирд┐рдХреЛрдб рдХреЗ рддрд╛рд░реЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп, рд╕рдВрдЦреНрдпрд╛ 7 рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:
  wcsncpy (tr.lpstrText, L "mailto:", 7); 

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХрджрдо рд╕рд╣реА рдХреЛрдб рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CopyMemory рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

V568 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдЖрдХрд╛рд░ рдХрд╛ рддрд░реНрдХ () рдСрдкрд░реЗрдЯрд░ 'рдФрд░ ImgIndex' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред clist_modern modern_extraimage.cpp 302
  рд╡реНрдпрд░реНрде рдПрдХреНрд╕реНрдЯреНрд░рд╛рдЗрдореЗрдЬ_рд╕реЗрдЯрдПрдХреНрд▓реЗрдХреНрдЯреНрд░рд╛рдЗрдХрдиреНрд╕ (HWND hwndList, HANDLE hContact)
 {
   ...
   рдЪрд╛рд░ * (ImgIndex [64]);
   ...
   рдореЗрдорд╕реЗрдЯ (& ImgIndex, 0, sizeof (& ImgIndex));
   ...
 } 

рдпрд╣рд╛рдБ рдореИрдВ 64 рдкреЙрдЗрдВрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рд╢реВрдиреНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕реА рддреНрд░реБрдЯрд┐, рд╡реИрд╕реЗ, рдПрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╣реЗрдВ:

V568 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдЖрдХрд╛рд░ рдХрд╛ рддрд░реНрдХ () рдСрдкрд░реЗрдЯрд░ 'рдФрд░ ImgIndex' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред clist_mw extraimage.c 295

рдХреЛрдб рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
  рдореЗрдорд╕реЗрдЯ (& ImgIndex, 0, sizeof (ImgIndex)); 

рд╡реИрд╕реЗ, рдПрдХ рд╕рд░рдгреА рд╕реЗ рдПрдХ рдкрддрд╛ рд▓реЗрдиреЗ рд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рдкрддреЗ рд▓реЗрдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред рдФрд░ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
  рдореЗрдорд╕реЗрдЯ (ImgIndex, 0, sizeof (ImgIndex)); 

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгред

V568 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ sizeof () рдСрдкрд░реЗрдЯрд░ рдХрд╛ рддрд░реНрдХ 'рдФрд░ rowOptTA' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред clist_modern modern_rowtemplateopt.cpp 258
  рд╕реНрдерд┐рд░ ROWCELL * rowOptTA [100];

 рд╢реВрдиреНрдп рдкрдВрдХреНрддрд┐OptAddContainer (HWND htree, HTREEITEM hti)
 {
   ...
   ZeroMemory (rowOptTA, sizeof (& rowOptTA));
   ...
 } 

рдлрд┐рд░ рд╕реЗ, рд╕рд░рдгреА рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╕реВрдЪрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╣реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "sizeof (rowOptTA)" рд╣реИред рд╕рд░рдгреА рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:
  const size_t ArraySize = 100;
 рд╕реНрдерд┐рд░ ROWCELL * rowOptTA [ArraySize];
 ...
 std :: fill (rowOptTA, rowOptTA + ArraySize, nullptr); 

рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрдкреА рдХрд░рдХреЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреА рд╣реИрдВ:

V568 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ sizeof () рдСрдкрд░реЗрдЯрд░ рдХрд╛ рддрд░реНрдХ 'рдФрд░ rowOptTA' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред clist_modern modern_rowtemplateopt.cpp 308

V568 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ sizeof () рдСрдкрд░реЗрдЯрд░ рдХрд╛ рддрд░реНрдХ 'рдФрд░ rowOptTA' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред clist_modern modern_rowtemplateopt.cpp 438

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ? рдирд╣реАрдВ, рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВред рдЖрдЧреЗ рджреЗрдЦрд┐рдП, рдбрд░реЛ рдФрд░ рдлреИрдВрд╕ рдХреЗ рд╣рд╛рде рд╣рд┐рд▓рд╛рдХрд░ рд▓рд┐рдЦреЛ рдпрд╛рджрдЧрд╛рд░ред

V512 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреА рдХреЙрд▓ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдпрд╛ рдЕрдВрдбрд░рдлрд╝реНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред clist_modern modern_image_array.cpp 59
  рд╕реНрдерд┐рд░ BOOL ImageArray_Alloc (LP_IMAGE_ARRAY_DATA iad, int рдЖрдХрд╛рд░)
 {
   ...
   рдореЗрдорд╕реЗрдЯ (& iad-> рдиреЛрдбреНрд╕ [iad-> nodes_allocated_size], 
     (size_grow - iad-> nodes_allocated_size) *
        sizeof (IMAGE_ARRAY_DATA_NODE),
     0);
   ...
 } 

рдЗрд╕ рдмрд╛рд░ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рддрд░реНрдХ рд╕рд┐рд░реНрдл рднреНрд░рдорд┐рдд рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо 0 рддрддреНрд╡реЛрдВ рдХреЛ рднрд░рддреЗ рд╣реИрдВред рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк:
  рдореЗрдорд╕реЗрдЯ (& iad-> рдиреЛрдбреНрд╕ [iad-> nodes_allocated_size], 0,
   (size_grow - iad-> nodes_allocated_size) *
      sizeof (IMAGE_ARRAY_DATA_NODE)); 

рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рдмрд▓реНрдХрд┐, рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐, OPENFILENAME рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
  OPENFILENAME x;
 рдореЗрдорд╕реЗрдЯ (& x, 0, sizeof (x)); 

рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЖрдк рдЗрд╕ рддрд░рд╣ рдПрдХ рдЕрд╢рдХреНрдд рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
  OPENFILENAME x = {0}; 


2. рдмрд╛рд░реАрдХреА рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдпрд╛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдФрд░ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рднреНрд░рдо рдХреА рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рджреВрд░ рдХреА рдХреМрдбрд╝реА рд▓рдЧ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдиреЗ рдмреЗрдХрд╛рд░ рдореЗрдВ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рд╣реИред

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓реЛрдЧ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЯрд╛рдЗрдк рдХреЗ рдПрдХ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдпрд╣ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдРрд╕реА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдпрд╛ рдПрдХ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд╡реЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдмрд┐рдирд╛, рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдбреВрдмрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдРрд╕рд╛ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рдмрд╛рдд рдХреЗ рдкреНрд░рддрд┐ рдЪреМрдХрд╕ рд░рд╣реЗрдВ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╣реИ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИред рдЕрдм рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгред

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'wParam> = 0' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддреА рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛> = 0. clist_mw cluiframes.c 3140 рд╣реИ

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдПрдХ id2pos рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ '-1' рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рдЕрдиреНрдпрддреНрд░, id2pos рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
  рдЯрд╛рдЗрдкреЗрдбрд┐рдл UINT_PTR WPARAM; 
 рд╕реНрдерд┐рд░ int id2pos (int id);
 рд╕реНрдерд┐рд░ int nFramescount = 0;

 INT_PTR CLUIFrameSetFloat (WPARAM wParam, LPARAM lParam)
 {
   ...
   wParam = id2pos (wParam);
   рдЕрдЧрд░ (wParam> = 0 && (int) wParam <nFramescount)
     рдЕрдЧрд░ (рдлреНрд░реЗрдо [wParam] .рдлреНрд▓реЛрдЯрд┐рдВрдЧ)
   ...
 } 

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ wParam рдЪрд░ рдХрд╛ рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╢рд░реНрдд 'wParam> = 0' рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддреА рд╣реИред рдпрджрд┐ id2pos рдлрд╝рдВрдХреНрд╢рди '-1' рджреЗрддрд╛ рд╣реИ, рддреЛ рдЕрдорд╛рдиреНрдп рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рд╢рд░реНрдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА рдФрд░ рд╣рдо рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:

рдЕрдЧрд░ (wParam> = 0 && wParam <nFramescount)

рд╡рд┐рдЬреБрдЕрд▓ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдЪреЗрддрд╛рд╡рдиреА "рдЪреЗрддрд╛рд╡рдиреА C4018: '<': рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд / рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдмреЗрдореЗрд▓" рдЬрд╛рд░реА рдХреАред рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рд╕реНрддрд░ 3 рдкрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЙрд╕ рд╕рдордп рдЗрд╕ рдЬрдЧрд╣ рдкрд░ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрддрд╛рд╡рдиреА рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рджреНрд╡рд╛рд░рд╛ рджрдмрд╛ рджреА рдЧрдИ рдереАред рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЫрд┐рдкреА рд░рд╣реАред рд╕рд╣реА рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:

if ((int) wParam> = 0 && (int) wParam <nFramescount)

рдЗрд╕рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдРрд╕реА рдЬрдЧрд╣реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдореЗрдВ, рдореИрдВрдиреЗ 33 рд╢рд░реНрддреЗрдВ рдЧрд┐рдирд╛рдИрдВ, рдЬреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд / рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЗ рд╕рд╛рде рднреНрд░рдо рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдпрд╛ рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддреА рд╣реИрдВред

рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдЯрд┐рдкреНрдкрдгреА рд╕рд┐рд░реНрдл рдЕрджреНрднреБрдд рд╣реИред

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'nOldLength <0' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА <0 рдирд╣реАрдВ рд╣реИред IRC mstring.h 229
  рд╢реВрдиреНрдп рдкрд░рд┐рд╢рд┐рд╖реНрдЯ (PCXSTR pszSrc, int nLength)
 {
   ...
   UINT nOldLength = GetLength ();
   рдЕрдЧрд░ (nOldLength <0)
   {
     // рдЕрдВрдбрд░рдлреНрд▓реЛ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ
     nOldLength = 0;
   }
   ...
 } 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдмреЗрд╢рдХ, рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, WinAPI) рднреА рдПрдХ рд╕реБрдЕрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
  #define SRMSGSET_LIMITNAMESLEN_MIN 0
 рд╕реНрдерд┐рд░ INT_PTR рдХреЙрд▓рдмреИрдХ DlgProcTabsOptions (...)
 {
   ...
   LimLength =
     GetDlgItemInt (hwndDlg, IDC_LIMITNAMESLEN, NULL, TRUE)> =
     SRMSGSET_LIMITNAMESLEN_MIN?
     GetDlgItemInt (hwndDlg, IDC_LIMITNAMESLEN, NULL, TRUE):
     SRMSGSET_LIMITNAMESLEN_MIN;
   ...
 } 

рдпрджрд┐ рдЖрдк рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рд╕рд╣реА рджрд┐рдЦрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдереАред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдм рд╣рдо рдХреЛрдб рдХреЗ рдкреНрд░рд╛рд░реВрдкрдг рдкрд░ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ GetDlgItemInt () рдлрд╝рдВрдХреНрд╢рди рдмрд┐рд▓реНрдХреБрд▓ рднреА 'int' рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрдореНрдореАрдж рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ UINT рджреЗрддрд╛ рд╣реИред рдпрд╣рд╛рдБ WinUser.h рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЙрд╕рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ:
  WINUSERAPI
 uint
 WINAPI
 GetDlgItemInt (
     рдПрдЪрдЖрдИрдПрдирдб рдПрдЪрдбреАрдбреАрдЬреА,
     __ рдореЗрдВ int nIDDlgItem,
     __out_opt BOOL * lpTranslated,
     __IN BOOL bSign); 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, PVS-Studio рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛ рд╣реЛрддрд╛ рд╣реИ> = 0. рд╕реНрдХреНрд░рд╛рдЗрд╡рд░ msgoptions.c 458

рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "GetDlgItemInt (hwndDlg, IDC_LIMITNAMESLEN, NULL, TRUE)> = SRMSGSET_LIMITNAMESLEN_MIN" рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реИред

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢рд╛рдпрдж, рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдореЗрд░реА рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЕрд░реНрде, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рд╣реИред рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦреЗрдВ рдХрд┐ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓реМрдЯрддреЗ рд╣реИрдВ

3. рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрдгрдирд╛рдУрдВ рд╕реЗ рдмрдЪреЗрдВред


рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реЗ рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХрднреА-рдХрднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдПрдХ рдЧреБрдкреНрдд рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рд╖рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдФрд░ рдЕрдзрд┐рдХ рдзреВрд░реНрддрддрд╛ рд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦреЗрдЧрд╛, рдпрд╛ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдЙрдЫрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдХреЙрдореНрдкреИрдХреНрдЯ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрдИ рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рд▓рд╛рд▓рд┐рддреНрдп рдореЗрдВ рдереЛрдбрд╝реА рд╕реА рдмрдврд╝рдд рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдЬреЛ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

V567 рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ред рдЕрдиреБрдХреНрд░рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рджреЛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди 's' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдордПрд╕рдПрди ezxml.c 371
  рд▓рдШреБ ezxml_internal_dtd (ezxml_root_t рд░реВрдЯ, char * s, size_n le)
 {
   ...
   рдЬрдмрдХрд┐ (* (n = ++ s + strspn (s, EZXML_WS)) && * n! = '' '' {{!
   ...
 } 

рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рдВрдмреЗ рдЬреАрд╡рди рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдЕрдиреБрдХреВрд▓рди рдХреБрдВрдЬреА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред рд╕рдВрдХрд▓рдХ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ '++ s' рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рдФрд░ рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ 'strspn (s, EZXML_WSP') рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЪрд░ 's' рдХреЗ рдорд╛рди рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛, рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ рд╕рдм рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдорд┐рд░рд╛рдВрдбрд╛ IM рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдХреБрдЫ рд╢рд╛рдЦрд╛рдПрдБ '&& 0' рдлреЙрд░реНрдо рдХреЗ рдЖрд╡реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдХреНрд╖рдо / рд╕рдХреНрд╖рдо рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:
  рдЕрдЧрд░ (1 || altDraw) && ...
 рдЕрдЧрд░ (g_CluiData.bCurrentAlpha == GoalAlpha && 0)
 рдЕрдЧрд░ (checkboxWidth && (subindex == - 1 || 1)) { 

рдЙрдкрд░реЛрдХреНрдд рддреБрд▓рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдФрд░ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреЛрдб рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИред

V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ: 0. clist_modern modern_clui.cpp 2979
  LRESULT CLUI :: OnDrawItem (UINT msg, WPARAM wParam, LPARAM lParam)
 {
   ...
   рдбреНрд░рд╛рд╕реНрдЯреЗрдЯ (dis-> hDC, NULL, NULL, (LPARAM) hIcon, 0,
     dis-> rcItem.right + dis-> rcItem.left-
     GetSystemMetrics (SM_CXSMICON)) / 2 + dx,
     (dis-> rcItem.bottom + dis-> rcItem.top-
     GetSystemMetrics (SM_CYSMICON)) / 2 + dx,
     0.0
     DST_ICON |
     (dis-> itemState рдФрд░ ODS_INACTIVE && FALSE; DSS_DISABLED: DSS_NORMAL));
    ...
 } 

рдпрджрд┐ рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ FALSE рд╢рдмреНрдж рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдФрд░ рдЦреЛрдЬрдирд╛ рдЕрднреА рднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рддреБрдордиреЗ рдЙрд╕реЗ рдкрд╛рдпрд╛? рд╕рд╣рдордд - рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ? рдлрд┐рд░ рдХреЛрдб рдХреЛ рджреЗрдЦрдХрд░ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рднрд╛рд╡ рдЕрд▓рдЧ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
  UINT uFlags = DST_ICON;
 uFlags | = dis-> itemState & ODS_INACTIVE && FALSE?
             DSS_DISABLED: DSS_NORMAL; 

рдФрд░ рдореИрдВ рдЦреБрдж, рд╢рд╛рдпрдж, рдЗрд╕реЗ рд▓рдВрдмреЗ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛:
  UINT uFlags;
 рдЕрдЧрд░ (dis-> itemState & ODS_INACTIVE && (((FALSE))))
   uFlags = DST_ICON |  DSS_DISABLED;
 рдЕрдиреНрдпрдерд╛ 
   uFlags = DST_ICON |  DSS_NORMAL; 

рд╣рд╛рдВ, рдпрд╣ рд▓рдВрдмрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ FALSE рд╢рдмреНрдж рдмреЗрд╣рддрд░ рд╣реИред

4. рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ


рдХреЛрдб рд╕рдВрд░реЗрдЦрдг рдЯрд╛рдЗрдкреЛ рдпрд╛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдмрдиреА рд╣реИ, рддреЛ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рдХрдИ рдмрд╛рд░ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

V537 'рдореИрдХреНрд╕рдПрдХреНрд╕' рдЖрдЗрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред clist_modern modern_skinengine.cpp 2898
  рд╕реНрдерд┐рд░ BOOL ske_DrawTextEffect (...)
 {
   ...
   minX = max (0, minX + mcLeftStart-2);
   minY = max (0, minY + mcTopStart-2);
   maxX = min ((int) рдЪреМрдбрд╝рд╛рдИ, maxX + mcRightEnd-1);
   maxY = min ((int) height, maxX + mcBottomEnd-1);
   ...
 } 

рдХреЛрдб рдХрд╛ рдПрдХ рдЕрдЦрдВрдб рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдмрд╛рдз рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВ:
  minX = max (0, minX + mcLeftStart - 2);
 minY = max (0, minY + mcTopStart - 2);
 maxX = min ((int) рдЪреМрдбрд╝рд╛рдИ, maxX + mcRightEnd - 1);
 maxY = min ((int) height, maxX + mcBottomEnd - 1); 

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдм рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЪрд░ рдЕрдзрд┐рдХрддрдо рджреЛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЛрдб рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕рдВрд░реЗрдЦрдг рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рджреВрд╕рд░реЗ, рдпрд╣ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдмрд╕ рдПрдХ рд╕реБрдВрджрд░ рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИред

V536 рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрдерд┐рд░ рдореВрд▓реНрдп рдХреЛ рдПрдХ рдЕрд╖реНрдЯрд╛рдзрд╛рд░реА рд░реВрдк рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПред рдЕрдХреНрдЯреВрдмрд░: 037, рджрд┐рд╕рдВрдмрд░: 31. рдПрдордПрд╕рдПрди msn_mime.cpp 192
  рд╕реНрдерд┐рд░ рдХрд╛рд╕реНрдЯ рд╕рдВрд░рдЪрдирд╛ _tag_cpltbl
 {
   рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╕реАрдкреА;
   const char * рдорд┐рдореЗрдХрдк;
 } cptbl [] =
 {
   {037, "IBM037"}, // IBM EBCDIC рдпреВрдПрд╕-рдХрдирд╛рдбрд╛ 
   {437, "IBM437"}, // рдУрдИрдПрдо рдпреВрдирд╛рдЗрдЯреЗрдб рд╕реНрдЯреЗрдЯреНрд╕ 
   {500, "IBM500"}, // IBM EBCDIC рдЗрдВрдЯрд░рдиреЗрд╢рдирд▓ 
   {708, "ASMO-708"}, // рдЕрд░рдмреА (ASMO 708) 
   ...
 } 

рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрддрдВрдн рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╢реБрд░реБрдЖрдд рдореЗрдВ '0' рджрд░реНрдЬ рдХрд░рдирд╛ рдФрд░ рдСрдХреНрдЯрд▓ рдХреЛ рд╕реНрдерд┐рд░ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рд╢реВрдиреНрдп рдЬреЛрдбрд╝рдХрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рди рдХрд░реЗрдВред

5. рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рди рдХрд░реЗрдВ


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рддрд╛рд░ рдХреА рдирдХрд▓ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдмрд╛рд░ рд▓рд╛рдЗрди рди рд▓рдЧрд╛рдХрд░ рдЦреБрдж рдХреЛ рдЗрдВрд╢реНрдпреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓рд╛рдЗрди рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдлрд┐рд░ рд╕реЗ рдХреЙрдкреА рдФрд░ рдПрдбрд┐рдЯ рдХрд░реЗрдВред рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдХрд┐рд╕реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрджрд▓рдирд╛ рдпрд╛ рдЙрд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓рдирд╛ рднреВрд▓ рдЬрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

V525 рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рд▓реЗ рдХреЛрдбред рдЪреЗрдХ рдЖрдЗрдЯрдо '1316', '1319', '1318', '1323', '1323', '1317', '1321' рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ 954, 955, 956, 957, 957, 958, 959, 960: clist_modern modern_clcopts.cpp 954
  рд╕реНрдерд┐рд░ INT_PTR рдХреЙрд▓рдмреИрдХ DlgProcTrayOpts (...)
 {
   ...
   EnableWindow (GetDlgItem (hwndDlg, IDC_PRIMARYSTATUS), TRY);
   EnableWindow (GetDlgItem (hwndDlg, IDC_CYCLETIMESPIN), FALSE);
   EnableWindow (GetDlgItem (hwndDlg, IDC_CYCLETIME), FUTSE);    
   EnableWindow (GetDlgItem (hwndDlg, IDC_ALWAYSPRIMARY), FALSE);
   EnableWindow (GetDlgItem (hwndDlg, IDC_ALWAYSPRIMARY), FALSE);
   EnableWindow (GetDlgItem (hwndDlg, IDC_CYCLE), FALSE);
   EnableWindow (GetDlgItem (hwndDlg, IDC_MULTITRAY), FUTSE);
   ...
 } 

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣рд╛рдВ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл IDC_ALWAYSPRIMARY рддрддреНрд╡ рдХреЗ рд╕рд╛рде рджреЛ рдмрд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рднреА, рдХреЙрдкреА рдХрд┐рдП рдЧрдП рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдРрд╕реЗ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдВ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

6. рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рдЪреЗрддрд╛рд╡рдиреА рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╕реНрдЯреИрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдореЗрдВ рдЙрдирдХреА рдШрдЯрдирд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рджреЗрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рд╡реЗ рдЯрд╛рдЗрдкреЛрд╕ рд╣реИрдВ, рдЬреЛ рдиреМрд╕рд┐рдЦрд┐рдП рдФрд░ рд╕рдмрд╕реЗ рдЙрдЪреНрдЪ рдХреБрд╢рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреЛрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдлрд┐рд░ рднреА, рд▓реЗрдЦрди рд╕рдВрд╣рд┐рддрд╛ рдХреЗ рдЪрд░рдг рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпреЗ рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИрдВред рдФрд░ рджреВрд╕рд░рд╛ - рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХреЗ рд░рд╛рдд рдХреЗ рд▓реЙрдиреНрдЪ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯред

рдЕрдм рдХреЛрдИ рдХрд╣реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред рдпрджрд┐ рдореБрдЭреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рдФрд░ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ рдЙрдирдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП, рддреЛ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╣реИред

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЬрд▓реНрджреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: 0x01000ред tabsrmm tools.cpp 1023
  # рдбреЗрдлрд┐рди GC_UNICODE 0x01000

 DWORD dwFlags;

 UINT CreateGCMenu (...)
 {
   ...
   рдЕрдЧрд░ (iIndex == 1 && si-> iType! = GCW_SERVER &&
       ((рд╕реА-> dwFlags && GC_UNICODE)) {
   ...
 } 

рдЯрд╛рдЗрдкреЛ рдЕрдиреБрдорддрд┐ рджреАред 'рдФрд░' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, '&&' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рдпрд╣рд╛рдВ рдХреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рд╣рд╛рд▓рдд рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг:
  (si-> dwFlags & GC_UNICODE) 

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгред

V528 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ 'char' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ '\ 0' рдорд╛рди рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: * str! = '\ 0'ред clist_modern modern_skinbutton.cpp 282

V528 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ 'char' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ '\ 0' рдорд╛рди рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рдд: рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: * рдЕрдВрдд:! '' 0 'ред clist_modern modern_skinbutton.cpp 283
  рд╕реНрдЯреЗрдЯрд┐рдХ рдЪрд╛рд░ * _рд╕реНрдХрд┐рдкрдмреНрд▓реИрдВрдХ (рдЪрд╛рд░ * рд╕реНрдЯреНрд░)
 {
   char * endstr = str + strlen (str);
   рдЬрдмрдХрд┐ ((* str == '' || * str == '\ t') && str! = '' 0 '') str ++;
   рдЬрдмрдХрд┐ ((* endstr == '' || * * endstr == '\ t') &&
          endstr! = '' 0 '' && endstr <str)
     endstr--;
   ...
 } 

рдЗрд╕ рдХреЛрдб рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ рддрд╛рд░рд╛рдВрдХрди '*' рдХреЗрд╡рд▓ рдбреЗрд░реЗрдлрд╝рд░рд┐рдВрдЧ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рднреБрд▓рд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдШрд╛рддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХреЛрдб рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг:
  рдЬрдмрдХрд┐ ((* str == '' || * str == '\ t') && * str! = '\' 0 ') str ++;
 рдЬрдмрдХрд┐ ((* endstr == '' || * * endstr == '\ t') &&
        * endstr! = '\ 0' && endstr <str)
   endstr--; 

рдпрд╣рд╛рдВ рдлрд┐рд░ рд╕реЗ, рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕рд▓рд╛рд╣ рджреЗрдирд╛ рдХрдард┐рди рд╣реИред

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгред

V514 рдПрдХ рдФрд░ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ 'sizeof (рдкрд╛рда)' рдЖрдХрд╛рд░ рдХрд╛ рд╡рд┐рднрд╛рдЬрдиред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред clist_modern modern_cachefuncs.cpp 567
  #define SIZEOF (X) (sizeof (X) / sizeof (X [0]))

 int Cache_GetLineText (..., LPTSTR рдЯреЗрдХреНрд╕реНрдЯ, int text_size, ...)
 {
   ...
   tmi.printDateTime (pdnce-> hTimeZone, _T ("t"), рдкрд╛рда, SIZEOF (рдкрд╛рда), 0);
   ...
 } 

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдкрд╛рда рдФрд░ рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ SIZEOF рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдХреНрд░реЛ рдХреЛ COUNT_OF рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡рд╣ рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реИред рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдпрд╣ "sizeof (LPTSTR) / sizeof (TCHAR)" рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдРрд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рдХ рдФрд░ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрдЪреНрдЫреЗ рд╣реИрдВред рдХреЛрдб рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг:
  tmi.printDateTime (pdnce-> hTimeZone, _T ("t"), text, text_size, 0); 

рдЕрдЧрд▓рд╛ рдЙрджрд╛рд╣рд░рдг

V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: 0x29ред icqoscar8 fam_03buddy.cpp 632
  рд╢реВрдиреНрдп CIcqProto :: handleUserOffline (BYTE * buf, WORD wLen)
 {
   ...
   рдФрд░ рдпрджрд┐ (wTLVType = 0x29 && wTLVLen == sizeof (DWORD))
   ...
 } 

рдпрд╣рд╛рдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдерд┐рд░ рд▓рд┐рдЦрдирд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХреЛрдб рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
  рдпрджрд┐ (0x29 = wTLVType && sizeof (DWORD) == wTLVLen) 

рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕рд╣рд┐рдд рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЛ рдпрд╣ рд╕реНрдЯрд╛рдЗрд▓ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореБрдЭреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред

рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреБрд▓рдирд╛ рдХреА рдЗрд╕ рд╢реИрд▓реА рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдпрд╛ рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ / рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЬреЛрдЦрд┐рдо рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрд╕реЗ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдпрд╣ рджреБрд░реНрд▓рдн рдирд╣реАрдВ рд╣реИред рдорд┐рд░рд╛рдВрдбрд╛ IM рдХреЗ рддреАрди рдФрд░ рдЙрджрд╛рд╣рд░рдг, рдЬрд╣рд╛рдБ PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА V559 рдЬрд╛рд░реА рдХреА:
  рдФрд░ рдЕрдЧрд░ (ft-> ft_magic = FT_MAGIC_OSCAR)
 рдЕрдЧрд░ (рд╕реЗрд╡рд╛рдирд┐рд╡реГрддреНрдд = 0) {рд╡рд╛рдкрд╕реА (0) ;;
 рдпрджрд┐ (рдбреНрд░рд╛рдЗрдВрдЧ-> рдкреНрд░рдХрд╛рд░ = CLCIT_CONTACT) 

рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдЖрдкрдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рди рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд┐рд░рд╛рдВрдбрд╛ рдореЗрдВ рдЖрдИрдПрдо рдкреЙрдЗрдВрдЯрд░реНрд╕ рди рдХреЗрд╡рд▓ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдРрд╕реЗ рдЦреЗрд▓ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░реЛрдВ рдореЗрдВ рд╡реЗ рдбрд░рддреЗ рд╣реИрдВред рдирдореВрдирд╛ рдХреЛрдб рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЪрд┐рдВрддрд┐рдд рдХрд░рддрд╛ рд╣реИ:

V542 рдПрдХ рд╡рд┐рд╖рдо рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд╕реНрдЯ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: 'char *' рд╕реЗ 'char'ред clist_modern modern_toolbar.cpp 586
  рд╕реНрдерд┐рд░ рд╢реВрдиреНрдп
 sttRegisterToolBarButton (..., char * pszButtonName, ...)
 {
   ...
   рдЕрдЧрд░ (BYTE) pszButtonName)
     tbb.tbbFlags = TBBF_FLEXSIZESEPARATOR;
   рдЕрдиреНрдпрдерд╛
     tbb.tbbFlags = TBBF_ISSEPARATOR;
   ...
 } 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд▓рд╛рдЗрди рдХрд╛ рдкрддрд╛ 256 рдХрд╛ рдЧреБрдгрдХ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╢рд╛рдпрдж рдпрд╣ рд╕рд╣реА рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджрд┐рдЧреНрдз рд╣реИред

рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ, рдЖрдк рдХрдИ рдЧрд▓рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:

V501 рдмрд╛рдпреАрдВ рдФрд░ '&&' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ 'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-> рд╕реНрдЯреЗрдЯрд╕рдореИрд╕реЗрдЬ' рд╣реИрдВред jabber jabber_chat.cpp 214
  рд╢реВрдиреНрдп CJabberProto :: GcLogShowInformation (...)
 {
   ...
   рдЕрдЧрд░ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛- statusMessage && рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-> statusMessage)
   ...
 } 

рд╡рдЧреИрд░рд╣ рд╡рдЧреИрд░рд╣ред рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬрдм рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рддрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдпрд╣ рдЧрд▓рдд рддрд░реАрдХрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдХрдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдиреЗ рдмрд╛рдж рдореЗрдВ рд░рдХреНрдд рдХреЗ рд╕рд╛рде рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛, рдШрдВрдЯреЛрдВ рддрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд┐рдпрд╛ред

рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд╣реИ, рдФрд░ рдПрдХ рдмрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдХрдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдФрд░ рдЯрд╛рдЗрдкреЛрд╕ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдПрдХ рдЬрдмрд░рджрд╕реНрдд рд▓рд╛рдн рд╣реЛрдЧрд╛ред рджреЛ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рдлрд┐рд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ';' 'рдлреЙрд░' рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдмрд╛рджред рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдмрджрд▓реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ 10 рдорд┐рдирдЯ рдЦрд░реНрдЪ рдХрд░рдХреЗ рдРрд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрдХреНрд╕рд░ рдмреЗрдЕрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ C ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдХрдо рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд┐рдПред рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рдкрдХ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдФрд░ рдиреЛрдЯреНрд╕ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рдкреБрдирд╢реНрдЪ


рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкрд░рдВрдкрд░рд╛ рдмрди рдЧрдИ рд╣реИ рдХрд┐ рдПрдХ рд╕рдорд╛рди рд▓реЗрдЦ рдХреЗ рдмрд╛рдж, рдХреЛрдИ рдЖрдкрд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо / рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдорд┐рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЕрдЧреНрд░рд┐рдо рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдордиреЗ рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬреА рд╣реИред

рдирд╣реАрдВ, рдирд╣реАрдВ рднреЗрдЬрд╛ред рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХрд╛рдо рд╣реИред рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рд╕реМ рдЯреБрдХрдбрд╝реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдФрд░ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╣рд╛рдВ рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдЧрд▓рддреА рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдорд┐рд░рд╛рдВрдбрд╛ рдЖрдИрдПрдо рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рд╡реЗ рд░реБрдЪрд┐ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕реНрд╡рдпрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рднреА рд╡реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдЙрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рднреА рд╣реИ рдХрд┐ рдореИрдВ рдЕрдХреНрд╕рд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рдпрд╛ рд╡рд╣ рдХреЛрдб рддреНрд░реБрдЯрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрд╕реНрдкрд╖реНрдЯ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:

V523 'рддрддреНрдХрд╛рд▓реАрди' рдХрдерди 'рдФрд░' рдХрдерди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╕реНрдХреНрд░рд╛рдЗрд╡рд░ msglog.c 695
  рдЕрдЧрд░ (рд╕реНрдЯреНрд░реАрдордбреИрдЯ-> рдлрд╝рд░реНрд╕реНрдЯ) {
   рдЕрдЧрд░ (рдШрдЯрдирд╛-> dwFlags & IEEDF_RTL) {
     AppendToBuffer (рдФрд░ рдмрдлрд╝рд░, рдФрд░ рдмрдлрд╝рд░рдПрдВрдб, рдФрд░ рдмрдлрд╝рд░рдСрд▓рд░реЗрдЯреЗрдб, "\\ rtlpar");
   } {
     AppendToBuffer (рдФрд░ рдмрдлрд╝рд░, рдФрд░ рдмрдлрд╝рд░рдПрдВрдб, рдФрд░ рдмрдлрд╝рд░рдСрд▓рд░реЗрдЯреЗрдб, "\\ ltrpar");
   }
 } {
   рдЕрдЧрд░ (рдШрдЯрдирд╛-> dwFlags & IEEDF_RTL) {
     AppendToBuffer (рдФрд░ рдмрдлрд╝рд░, рдФрд░ рдмрдлрд╝рд░рдПрдВрдб, рдФрд░ рдмрдлрд╝рд░рдСрд▓рд░реЗрдЯреЗрдб, "\\ rtlpar");
   } {
     AppendToBuffer (рдФрд░ рдмрдлрд╝рд░, рдФрд░ рдмрдлрд╝рд░рдПрдВрдб, рдФрд░ рдмрдлрд╝рд░рдСрд▓рд░реЗрдЯреЗрдб, "\\ ltrpar");
   }
 } 

рдпрд╣рд╛рдБ рдХреЛрдб рдХреЗ рджреЛ рд╕рдорд╛рди рдЯреБрдХрдбрд╝реЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдФрд░ рд╢рд╛рдпрдж рдЕрдм рдХрд┐рд╕реА рднреА рд╢рд╛рдЦрд╛ рдореЗрдВ рдЖрдкрдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдХреЛрдб рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрдЧрд╣ рдЧрд▓рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред

Source: https://habr.com/ru/post/In115143/


All Articles