рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдзреНрдпрд╛рди рдореЗрдВ C / C ++ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг рд▓рд╛рддреЗ рд╣реИрдВред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдГрд╢реБрд▓реНрдХ рд╣реИред рдЖрдк рдкреАрд╡реАрд╡реА-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ
http://www.viva64.com/en/pvs-studio-download/ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдЦ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред TortoiseSVN рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдирдИ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗред
PVS-Studio рдПрдХ рдЖрдзреБрдирд┐рдХ рд╕реНрд░реЛрдд рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реИ рдЬреЛ Microsoft Visual Studio 2005/2008/2010 рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред PVS-Studio рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп C / C ++ / C ++ 0x рдореЗрдВ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╣реИред
рдЕрдм рддрдХ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдирд┐рдпрдореЛрдВ рдХреЗ рджреЛ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рдереЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ 64-рдмрд┐рдЯ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИред
рджреВрд╕рд░рд╛ рдУрдкрдирдПрдордкреА рддрдХрдиреАрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдЕрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдкрд╛рд╕ рдЪреЗрдХ рдХрд╛
рддреАрд╕рд░рд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдХреЛрдб рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдирд┐рдпрдореЛрдВ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдирд┐: рд╢реБрд▓реНрдХ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрд┐рдЯ рд╕рдордп рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдХрд╣рдирд╛ рдЕрднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд╣рдо рдЕрднреА рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЕрдм рдЖрдк рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ 4.00 рдмреАрдЯрд╛
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдирдП рд╕реЗрдЯ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрдЧ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрдкрд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╣рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдХреЗрд╡рд▓ 50 рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рд╕рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рддреБрд░рдВрдд рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдирд╣реАрдВ рдЬрд╛рдПрдВред рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЬрдм рдЪреЗрдХ рдХрд╛ рд╕реЗрдЯ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╣реИ рдФрд░ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ)ред
рдЖрдЗрдП
TortoiseSVN рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП PVS-Studio рдирд┐рдпрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред TortoiseSVN рд╡рд┐рдВрдбреЛрдЬ рд╢реЗрд▓ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╕рдмрд╡рд░реНрд╕рди рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред TortoiseSVN рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ 2007 рдореЗрдВ SourceForge.net TortoiseSVN рдХреЛ "рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ" рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рдереАред
рдЪрд░рдг 1
рдХрдВрдкрдиреА рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ "рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд┐рд╕реНрдЯрдо" рдПрд▓рдПрд▓рд╕реА рд╕реЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдпрд╣ рд╣рдо рд╣реИ)ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рд╕рдиреНрди рд╣реЛрдВрдЧреЗ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдХреЛ рднрд░рдиреЗ рдпрд╛ рдХреИрдкреНрдЪрд╛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдмрд╕
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред
рдЪрд░рдг 2
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ "рдЕрдЧрд▓рд╛" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рддрд░рдг рдбрд┐рдЬрд┐рдЯрд▓ рд░реВрдк рд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдЕрднреА рднреА рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдХреЛ рдЕрдиреБрдорддрд┐ рд╣реИред
рдЪрд░рдг 3
TortoiseSVN рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд░реЛрдд рдкреИрдХреЗрдЬ
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╣рдордиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрд╕реНрдХрд░рдг 1.6.11 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред
рдЪрд░рдг 4
TortoiseSVN рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╣рдо рдЪреЗрдХ рд╕реЙрд▓реНрдпреВрд╢рди рдХрдорд╛рдВрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗред
рдЪрд░рдг 5
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕реЛрдЪреЗрдВрдЧреЗ (TortoiseSVN рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрддрдиреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рд╕рдордп рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВред рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж, рдПрдХ рдкреНрд░рдЧрддрд┐ рд╕рдВрд╡рд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЧрддрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рдЦрд╛рдПрдЧрд╛, рддреЛ рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЗрд╕рдХреА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рдВрджреЗрд╢ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рд╣рдо рдЗрди рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВрдЧреЗред рдЕрдм 64-рдмрд┐рдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 64-рдмрд┐рдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕реАрдорд┐рдд рд╣реИ (
рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЛрдб рджреЗрдЦреЗрдВ)ред
рдЦрд┐рдбрд╝рдХреА рддреАрди рдмрдЯрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдЦрд╛рддреА рд╣реИ, рдЬреЛ рддреАрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
1) 64 - рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 64-рдмрд┐рдЯ рджреЛрд╖ (Viva64);
2) рдПрдордкреА - рд╕рдорд╛рдирд╛рдВрддрд░ рджреЛрд╖ (рд╡рд┐рд╡рд╛рдПрдордкреА) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢;
3) рдЬреАрдП - рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢ред
рд╣рдо рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рд╕реЗрдЯ (GA) рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЕрдиреНрдп рдмрдЯрди рджрдмрд╛рдПрдВ, рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджреЗрд╢ рддреБрд░рдВрдд рдЫрд┐рдкрд╛рдП рдЬрд╛рдПрдВрдЧреЗред
рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЪрд░рдг 6
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдорд╣рддреНрд╡ рдХреЗ 3 рд╕реНрддрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ 4.00 рдореЗрдВ рдирдпрд╛ рд╣реИ)ред рдЖрдорддреМрд░ рдкрд░, рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ 4.00 рдмреАрдЯрд╛ рдиреЗ 33 рдкреНрд░рдердо-рд╕реНрддрд░реАрдп рдЕрд▓рд░реНрдЯ, 14 рджреНрд╡рд┐рддреАрдп-рд╕реНрддрд░реАрдп рдЕрд▓рд░реНрдЯ рдФрд░ 8 рддреГрддреАрдп-рд╕реНрддрд░реАрдп рдЕрд▓рд░реНрдЯ рдЬрд╛рд░реА рдХрд┐рдПред
рдпрд╣ рдкреНрд░рдердо рд╕реНрддрд░ рдХреЗ рдЕрд▓рд░реНрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЙрд╕ рдмрдЯрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рддреАрд╕рд░рд╛ рд╕реНрддрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред
рдЪрд░рдг 7
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рд▓рдЧрд╛рдП рдЧрдП рдХреЛрдб рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╕реНрдерд┐рддрд┐ 1
рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рджреЛ рд╕рдВрджреЗрд╢ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЖрд╢рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╣реАрдВ рднреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
V530 'рдЦрд╛рд▓реА' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред referencemenu.cpp 434
V530 рдлрд╝рдВрдХреНрд╢рди 'рдирд┐рд╖реНрдХрд╛рд╕рди' рдХреЗ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред referencemenu.cpp 442
STDMETHODIMP CShellExt :: рдкреНрд░рд╛рд░рдВрднрд┐рдХ (....)
{
...
ignoredprops.empty ();
for (int p = 0; p <props.GetCount (); ++ p)
{
рдЕрдЧрд░ (рд╕рд╣рд╛рд░рд╛ред GetItemName (p)
рддреБрд▓рдирд╛ (SVN_PROP_IGNORE) == 0)
{
std :: string st = props.GetItemValue (p);
ignoredprops = UTF8ToWide (st.c_str ());
// рд╕рднреА рдПрд╕реНрдХреЗрдк рдЪрд╛рд░реНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ ('\\')
std :: remove (рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛)
ignoredprops.end (), '\\');
рддреЛрдбрд╝;
}
}
...
}
рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЯрд┐рдкреНрдкрдгреА рджреА рдЬрд╛рдПрдЧреАред рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдСрдирд▓рд╛рдЗрди рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХреЛрдб рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдХреНрдпреЛрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣
рд░реВрд╕реА рдФрд░
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ)ред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рднреА рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди (рдПрдХ рд╣реА) рд╣реИред рдЖрдЧреЗ рдХреЗ рд▓рд┐рдВрдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдЪреЗрддрд╛рд╡рдиреА
V530 рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ "ignoredprops.empty ()" рд▓рд╛рдЗрди рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ "std :: remove ()" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛ рд╣реИред
рд╕реНрдерд┐рддрд┐ 2
рдпрд╣ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХрд╛рд░ 'рдЪрд░' рдХрд╛ рдЪрд░ рдорд╛рди 0x80 рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИред
V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'c> = 0x80' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреА рдореВрд▓реНрдп рд╕реАрдорд╛: [-128, 127]ред pathutils.cpp 559
CSathring CPathUtils :: PathUnescape (const char * path)
{
// рддреНрд╡рд░рд┐рдд рдкрде рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
size_t i = 0;
рдХреЗ рд▓рд┐рдП; рдЪрд╛рд░ рд╕реА = рдкрде [i]; ++ i)
рдЕрдЧрд░ ((c> = 0x80) || (c == '%'))
{
// рддреНрд╡рд░рд┐рдд рдкрде рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
// рдЧреИрд░-рд▓реИрдЯрд┐рди рдпрд╛ рдмрдЪ рдЧрдП рд╡рд░реНрдг
std :: string utf8Path (рдкрд╛рде);
CPathUtils :: Unescape (& utf8Path [0]);
рд╕реАрд╡рдирдХреЛрдбрд╛рдЗрд▓реНрдЯреНрд╕ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ :: UTF8ToUTF16 (utf8Path);
}
...
}
рд╕рдВрджреЗрд╢
V547 рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЪреЗрдХ рд╡реНрдпрд░реНрде рд╣реИред 'Char' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛ 0x80 рд╕реЗ рдХрдо рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реИред рдФрд░ рд╢рд╛рдпрдж рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг, рдЯрд┐рдкреНрдкрдгреА "рддреНрд╡рд░рд┐рдд рдкрде рдЧреИрд░-рд▓реИрдЯрд┐рди рдпрд╛ рдмрдЪ рдЧрдП рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ" рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдмреЗрд╢рдХ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдПрдХ рдЧреИрд░-рд▓реИрдЯрд┐рди рдЪрд░рд┐рддреНрд░ рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ 'рдЕрдЧрд░' рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВред
рд╕реНрдерд┐рддрд┐ 3
CreateThread / ExitThread рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдмрдирд╛рдП рдФрд░ рдорд╛рд░реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдзрд╛рдЧреЗ рдХреЗ рдвреЗрд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЬрдм рдзрд╛рдЧрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЦрд╛рд▓реА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА
V513 рдХрд╛ рд╡рд┐рд╡рд░рдг рдкрдврд╝реЗрдВред рдпрд╣ _beginthreadex () рдФрд░ _endthreadex () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рда рд╕рдорд╛рди рд╣реИ:
V513 CreateThread / ExitThread рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдмрдЬрд╛рдп _beginthreadex / _endthreadex рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред crashhandler.cpp 379
рд╕реНрдерд┐рддрд┐ рек
рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд TortoiseSVN рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреНрд░реИрд╢рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдпрд╣ рджреВрд╕рд░реЗ рдХреНрд░реИрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
V510 'Printf_s' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪреМрдереЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧ-рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред excprpt.cpp 199
рд╕реНрдЯреНрд░рд┐рдВрдЧ CExceptionReport :: getCrashLog ()
{
...
_tprintf_s (buf, _T ("% s \\% s.xml"),
getenv ("рдЯреАрдИрдПрдордкреА"), рдШреБрд▓рдирд╢реАрд▓рддрд╛ :: getAppName ());
...
}
рд╕рдВрджреЗрд╢
V510 рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдХрд░реЗрдВ std :: string рдХрд╛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИред рдФрд░ рдлрд╝рдВрдХреНрд╢рди CUtility :: getAppName () рдмрд┐рд▓реНрдХреБрд▓ std :: string рджреЗрддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк ".c_str ()" рд▓рд┐рдЦрдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреЛ рдХреЗрд╡рд▓ рдЧрд▓рдд рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдерд┐рддрд┐ рел
рд╡реЗ рд╕рд░рдгреА рдХреЛ рдЦрд╛рд▓реА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред
V530 'рдЦрд╛рд▓реА' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред mailmsg.cpp 40
CMailMsg рдФрд░ CMailMsg :: SetFrom (рд╕реНрдЯреНрд░рд┐рдВрдЧ sAddress,
рд╕реНрдЯреНрд░рд┐рдВрдЧ sName)
{
рдЕрдЧрд░ (initIfNeeded ())
{
// рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЗрд╖рдХ рдиреЗ рдЕрдиреБрдорддрд┐ рджреА
рдЕрдЧрд░ (m_from.size ())
m_from.empty ();
m_from.push_back (TStrStrPair (sAddress, sName));
}
рд╡рд╛рдкрд╕реА * тАЛтАЛрдпрд╣;
}
рдлрд┐рд░,
V530 рд╕рдВрджреЗрд╢ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ "рд╕реНрдкрд╖реНрдЯ ()", "рдЦрд╛рд▓реА ()" рдХреЗ рдмрдЬрд╛рдп рдЧрд▓рддреА рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕реНрдерд┐рддрд┐ рем
рдФрд░ рд╕реЗрдЯреНрдЯреЛ () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рд╡реЗ рд╕рд░рдгреА рдХреЛ рднреА рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред
V530 'рдЦрд╛рд▓реА' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред mailmsg.cpp 54
CMailMsg рдФрд░ CMailMsg :: SetTo (string sAddress,
рд╕реНрдЯреНрд░рд┐рдВрдЧ sName)
{
рдЕрдЧрд░ (initIfNeeded ())
{
// рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдиреЗ рдЕрдиреБрдорддрд┐ рджреА
рдЕрдЧрд░ (m_to.size ())
m_to.empty ();
m_to.push_back (TStrStrPair (sAddress, sName));
}
рд╡рд╛рдкрд╕реА * тАЛтАЛрдпрд╣;
}
рд╕реНрдерд┐рддрд┐ 7
рдмреЗрд╢рдХ, рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, TortoiseSVN рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ zlib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдПрдХ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИред рдпрд╣рд╛рдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди
V501 рдХреЗ рд╕рд╛рде рдРрд╕реА рдЬрдЧрд╣ рдХреЛ
рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред
V501 рдмрд╛рдИрдВ рдФрд░ '-' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ: рдЖрдХрд╛рд░ - рдЖрдХрд╛рд░ zutil.c 213
voidpf zcalloc (рдЕрдкрд╛рд░рджрд░реНрд╢реА, рдЖрдЗрдЯрдо, рдЖрдХрд╛рд░)
voidpf рдЕрдкрд╛рд░рджрд░реНрд╢реА;
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЖрдЗрдЯрдо;
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЖрдХрд╛рд░;
{
/ * рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЦреБрд╢ рдХрд░реЗрдВ * /
рдЕрдЧрд░ (рдЕрдкрд╛рд░рджрд░реНрд╢реА) рдЖрдЗрдЯрдо + = рдЖрдХрд╛рд░ - рдЖрдХрд╛рд░;
рд╡рд╛рдкрд╕реА (voidpf) рдХреЙрд▓реЛрдХ (рдЖрдЗрдЯрдо, рдЖрдХрд╛рд░);
}
рд╕рдВрдХрд▓рдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдЦреБрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдШрдЯрд╛рд╡ рд╕рдВрджрд┐рдЧреНрдз рд▓рдЧ рд░рд╣рд╛ рд╣реИред
рд╕реНрдерд┐рддрд┐ 8
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдЕрдВрдзреЗрд░реЗ рд╕реНрдерд╛рди рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рд╢рд░реНрдд рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред
V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ '* utf8CheckBuf> = 0xF5' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реИред рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреА рдореВрд▓реНрдп рд╕реАрдорд╛: [-128, 127]ред tortoiseblame.cpp 312
BOOL TortoiseBlame :: OpenFile (const TCHAR * fileName)
{
...
// рдЕрд╡реИрдз utf8 рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
// рдпрджрд┐ рдПрдХ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд▓рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВ
// ASCII рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝рд╛рдЗрд▓, рдЕрдиреНрдпрдерд╛ рд╣рдо рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ
// UTF8 рдлрд╝рд╛рдЗрд▓ред
char * utf8CheckBuf = lineptr;
рдЬрдмрдХрд┐ (bUTF8) && (* utf8CheckBuf))
{
рдЕрдЧрд░ (* utf8CheckBuf == 0xC0) ||
(* utf8CheckBuf == 0xC1) ||
(* utf8CheckBuf> = 0xF5))
{
bUTF8 = false;
рддреЛрдбрд╝;
}
...
}
рд╡реИрд╕реЗ, "" utf8CheckBuf == 0xC0 "," * utf8CheckBuf == 0xC1 "рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рднреА рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб "bUTF8 = false;" рдХрднреА рднреА рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдбрд╛рдВрдЯрд╛ рдирд╣реАрдВ рд╣реИ "* utf8CheckBuf == 0xC0" рдПрдХ рджреЛрд╖ рд╣реИред рд╕реБрдзрд╛рд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд░реНрдЬред рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╣рдо рдЗрд╕ рдкрд░ рд╢рдкрде рд▓реЗрдВрдЧреЗред
рд╕реНрдерд┐рддрд┐ реп
рдЕрдЧрд▓реА рдкреЛрд╕реНрдЯ рдЗрддрдиреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ - рдпрд╣ рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
V507 рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рд▓реЗрдХрд░ рд▓реЛрдХрд▓ рдПрд░реЗ 'stringbuf' рддрдХ рдЗрд╕ рдРрд░реЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред mainwindow.cpp 277
LRESULT CALLBACK CMainWindow :: WinMsgHandler (....)
{
...
рдЕрдЧрд░ (pNMHDR-> рдХреЛрдб == TTN_GETDISPINFO)
{
LPTOOLTIPTEXT рд▓реИрдкреНрдЯреЗрдЯ;
lpttt = (LPTOOLTIPTEXT) lParam;
lpttt-> hinst = hResource;
// рд╕рдВрд╕рд╛рдзрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
// рджрд┐рдП рдЧрдП рдмрдЯрди рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрдирд╛рддреНрдордХ рдкрд╛рдаред
TCHAR рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреАрдл [MAX_PATH] = {0};
...
lpttt-> lpszText = stringbuf;
}
...
}
рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢
V507 рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Statement if тАЩрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдмреЙрдбреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдмрдлрд░ iting stringbufтАЩ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ 'stringbuf' рдПрдХ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП std :: string, рддреЛ рдпрд╣ рдХреЛрдб рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╖реНрдЯ рдХреА рдЧрдИ рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ, 'stringbuf' рд╕реНрдЯреИрдХ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рд╕рд░рдгреА рд╣реИред Visual C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрдЯреИрдХ рдХреЗ рдЗрд╕ рдЦрдВрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрдлрд░ 'рдлрд╝рдВрдХреНрд╢рди' CMainWindow :: WinMsgHandler 'рдХреЗ рдЕрдВрдд рддрдХ рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдб рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рд╣реИред
рд╕реНрдерд┐рддрд┐ 10
рдФрд░ рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдЬрдЧрд╣ рд╣реИред рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╛рдЬреБрдХ рд╣реИред
V507 рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рд▓реЗрдХрд░ рд▓реЛрдХрд▓ рдПрд░реЗ 'stringbuf' рддрдХ рдЗрд╕ рдРрд░реЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред picwindow.cpp 443
рдЕрдЧрд░ ((HWND) wParam == m_AlphaSlider.GetWindow ()
{
LPTOOLTIPTEXT рд▓реИрдкреНрдЯреЗрдЯ;
lpttt = (LPTOOLTIPTEXT) lParam;
lpttt-> hinst = hResource;
TCHAR рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреАрдл [MAX_PATH] = {0};
_stprintf_s (stringbuf, .....);
lpttt-> lpszText = stringbuf;
}
рд╕реНрдерд┐рддрд┐ резрез
рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрдирд╛ рдФрд░ рди рдлреЗрдВрдХрдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
V509 рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЗ рдЕрдВрджрд░ 'рдереНрд░реЛ' рдСрдкрд░реЗрдЯрд░ рдХреЛ try..catch рдмреНрд▓реЙрдХ рдХреЗ рднреАрддрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЗ рдЕрдВрджрд░ рдЕрдкрд╡рд╛рдж рдЙрдард╛рдирд╛ рдЕрд╡реИрдз рд╣реИред cachefileoutbuffer.cpp 52
CCacheFileOutBuffer :: ~ CCacheFileOutBuffer ()
{
рдЕрдЧрд░ (IsOpen)
{
streamOffsets.push_back (GetFileSize ());
size_t lastOffset = streamOffsets [0];
for (size_t i = 1,
count = streamOffsets.size ();
рдореИрдВ <рдЧрд┐рдирддреА; ++ i)
{
size_t рдСрдлрд╕реЗрдЯ = рд╕реНрдЯреНрд░реАрдордСрдлрд╝рд╕реЗрдЯ [i];
size_t size = рдСрдлрд╕реЗрдЯ - lastOffset;
рдЕрдЧрд░ (рдЖрдХрд╛рд░> = (DWORD) - (1))
CStreamException ("рдмрд╣реБрдд рдмрдбрд╝реА рдзрд╛рд░рд╛") рдлреЗрдВрдХреЗрдВ;
рдЬреЛрдбрд╝реЗрдВ (DWORD) рдЖрдХрд╛рд░);
lastOffset = рдСрдлрд╕реЗрдЯ;
}
рдЬреЛрдбрд╝реЗрдВ (DWORD) (streamOffsets.size () - 1));
}
}
рд╕рдВрджреЗрд╢
V509 рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди CCacheFileOutBuffer рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдпрд╛ рдЕрдкрд╡рд╛рдж рддрддреНрдХрд╛рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрдерд┐рддрд┐ 12
рдПрдХ рдФрд░ рддреБрд▓рдирд╛ рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'endRevision <0' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реИ <0ред Cachelogquery.cpp 999
typedef index_t revision_t;
...
рд╢реВрдиреНрдп CCacheLogQuery :: InternalLog (
revision_t startRevision
, рд╕рдВрд╢реЛрдзрди_рдЯреА рдПрдВрдб рд░реАрд╡рд┐рдЬрди
, CD CDBBTTPP рдФрд░ startPath рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
, int рд╕реАрдорд╛
, const CLogOptions рдФрд░ рд╡рд┐рдХрд▓реНрдк)
{
...
// рд╣рдо рд╕рдВрд╢реЛрдзрд┐рдд <0 рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрджрд┐ (рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрди <0)
endRevision = 0;
...
}
рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред рд╡реИрд░рд┐рдПрдмрд▓ рдПрдВрдб рд░реАрд╡рд┐рдЬрди рд╕рдВрд╢реЛрдзрди рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдВрдбрд░рд┐рд╡рд┐рдЬрди> = 0. рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХрд╣реАрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдп рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рддреЛ рд╣рдо рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рд╕рддреНрдпрд╛рдкрди рдирд╣реАрдВ рд╣реИред
рд╕реНрдерд┐рддрд┐ 13
рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдкреНрд░рдердо рд╕реНрддрд░ рдХреЗ рдкрдж рдирд╣реАрдВ рд╣реИрдВред рдЕрднреА рдирд╣реАрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИред рд╣рдордиреЗ рд╡рд┐рдХрд╛рд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 150 рдЙрджрд╛рд╣рд░рдг рджрд░реНрдЬ рдХрд┐рдП рд╣реИрдВ рдЬреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВред рдЙрди рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг рднреЗрдЬреЗ рдЬрд╣рд╛рдВ рдЖрдк рд▓реЗрдЦрди рдХреЛрдб рдХреЗ рдЪрд░рдг рдореЗрдВ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ рд╕реНрддрд░ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рддрдХрдиреАрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред рд╡реИрд╕реЗ, рддреАрд╕рд░реЗ рд╕реНрддрд░ рдкрд░ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдВред
V524 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ 'GetDbgHelpVersion' рдлрд╝рдВрдХреНрд╢рди 'GetImageHlpVersion' рдлрд╝рдВрдХреНрд╢рди (SymbolEngine.h, рд▓рд╛рдЗрди 98) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╕рд┐рдВрдмрд╛рдВрдЧрд╛рдЗрдиред рдПрдЪред резрежрел
BOOL GetImageHlpVersion (DWORD рдФрд░ dwMS, DWORD рдФрд░ dwLS)
{
рд╡рд╛рдкрд╕реА (GetInMemoryFileVersion (("DBGHELP.DLL"),
dwMS,
dwLS));
}
BOOL GetDbgHelpVersion (DWORD рдФрд░ dwMS, DWORD рдФрд░ dwLS)
{
рд╡рд╛рдкрд╕реА (GetInMemoryFileVersion (("DBGHELP.DLL"),
dwMS,
dwLS));
}
рд╕рдВрджреЗрд╢
V524 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рджреЛ рд╕рдВрджрд┐рдЧреНрдз рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг "imagehlp.dll" рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ "dbghelp.dll" рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред
рдЪрд░рдг 8
рдЕрдм рдкрд╛рдпрд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЪрд░рдг рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдорд┐рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ TortoiseSVN рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред
рдЪрд░рдг 9
рдЕрдм рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ рдХрд┐ рдПрдХ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЙрдирд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВред
рдкрд╣рд▓рд╛ рдЭреВрдард╛ рд╕рдХрд╛рд░рд╛рддреНрдордХред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреЗрдо рдХреЛ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ред
V512 'рдореЗрдорд╕реАрдкреА' рдлрдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рдЕрдВрдбрд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред resmodule.cpp 838
const WORD *
CResModule :: CountMemReplaceMenuExResource (....)
{
...
рдЕрдЧрд░ (newMenu! = NULL) {
CopyMemory (& newMenu [* wordcount], p0, 7 * sizeof (WORD));
}
...
}
рдЪреЗрддрд╛рд╡рдиреА
V512 рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрдлрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рдЗрд╕рдХреЗ рдкрд░реЗ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред рдЕрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдЧрд▓рдд рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╣рдо 7 рд╡рд╕реНрддреБрдУрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рджреВрд╕рд░рд╛ рдЭреВрдард╛ рд╕рдХрд╛рд░рд╛рддреНрдордХред рдпрд╣рд╛рдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рд░рдгреА рдХреЗ рдХреЗрд╡рд▓ рднрд╛рдЧ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
V512 'рдореЗрдордХреИрдВрдк' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдпрд╛ рдЕрдВрдбрд░рдлрд╝реНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред sshsha.c 317
рд╕реНрдерд┐рд░ int sha1_96_verify (....)
{
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рд╕рд╣реА [20];
sha1_do_hmac (рд╕рдВрднрд╛рд▓, blk, рд▓реЗрди, seq, рд╕рд╣реА);
рд╡рд╛рдкрд╕реА; рдореЗрдореНрдХрдореНрдк (рд╕рд╣реА, blk + рд▓реЗрди, 12);
}
рджрд░рдЕрд╕рд▓, 'рд╕рд╣реА' рд╕рд░рдгреА рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣реА рдерд╛ред
рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИред
V517 'if (A) {...} рдХрд╛ рдЙрдкрдпреЛрдЧ if (A) {...}' рдкреИрдЯрд░реНрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЯреНрд░реА 234.c 195
рд╕реНрдерд┐рд░ рд╢реВрдиреНрдп * add234_internal (....)
{
...
рдЕрдЧрд░ ((c = t-> cmp (e, n-> рдПрд▓рдореНрд╕ [0])) <0)
рд╕рдВрддрд╛рди = 0;
рдФрд░ рдпрджрд┐ (c == 0)
рд╡рд╛рдкрд╕реА n-> рд╣рд╛рдереА [0]; / * рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ * /
рдФрд░ рдЕрдЧрд░ (n-> рдПрд▓рдореНрд╕ [1] == NULL
|| (c = t-> cmp (рдИ, рдПрди-> рдПрд▓рдореНрд╕ [1])) <0)
рд╕рдиреНрддрд╛рди = 1;
рдФрд░ рдпрджрд┐ (c == 0)
рд╡рд╛рдкрд╕реА n-> рд╣рд╛рдереА [1]; / * рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ * /
рдФрд░ рдЕрдЧрд░ (n-> рдПрд▓рдореНрд╕ [2] == NULL
|| (c = t-> cmp (рдИ, рдПрди-> рдПрд▓рдореНрд╕ [2])) <0)
рд╕рдВрддрд╛рди = 2;
рдФрд░ рдпрджрд┐ (c == 0)
рд╡рд╛рдкрд╕реА n-> рд╣рд╛рдереА [2]; / * рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ * /
рдЕрдиреНрдпрдерд╛
рд╕рдВрддрд╛рди = 3;
...
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдпрд╣ рддрдереНрдп рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪреЗрдХ 'c == 0' рдХрдИ рдмрд╛рд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред рдХреЛрдб рд╕рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪрд░ 'c' рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрдВрджрд░ рдмрджрд▓рддрд╛ рд╣реИ "c = t-> cmp (e, n-> elems [2])"ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рджреБрд░реНрд▓рдн рд╕реНрдерд┐рддрд┐ рд╣реИред рдЕрдзрд┐рдХ рдмрд╛рд░,
V517 рд╕рдВрджреЗрд╢ рдХреЛрдб рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЛрд╖реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдиреНрдп рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд╡реЗ рдЭреВрдареЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЙрди рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
1) рдЖрдк рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрднреА-рдХрднреА рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИред Refactoring рдПрдХ рдЭреВрдареЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рддреА рд╣реИ (рд╣рдо add234_internal рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЪреЗрддрд╛рд╡рдиреА V517 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред
2) рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рдЪреЗрдХ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рджреЗрддрд╛ рд╣реИред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпреЗ рд╕рднреА рд╕рдВрджреЗрд╢ рддреБрд░рдВрдд рдЯреЗрдмрд▓ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг: "
рд╕реЗрдЯрд┐рдВрдЧреНрд╕: рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдпреЛрдЧреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдБ "ред
3) рдпрджрд┐ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХреЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдЬрд╛рдБрдЪрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ "
рд╕реЗрдЯрд┐рдВрдЧреНрд╕: рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рди рдХрд░реЗрдВ "ред рдпрд╣ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
4) рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рда рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг: "
рд╕реЗрдЯрд┐рдВрдЧреНрд╕: рд╕рдВрджреЗрд╢ рджрдорди "ред
5) рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджрдмрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк "рдЧрд▓рдд рдЕрд▓рд╛рд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝реЙрд░реНрдо рдХреА рдПрдХ рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгреА: "// - V рддреНрд░реБрдЯрд┐ рдХреЛрдб" рдХреЛрдб рдореЗрдВ рдбрд╛рд▓реА рдЧрдИ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХреЛрдб рдЕрдиреБрднрд╛рдЧ рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА рдореЗрдВ рдЫрд┐рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдлрдП рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдЪрд┐рд╣реНрдирд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдФрд░ рдкрдврд╝реЗрдВ:
рдЭреВрдареА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдПрдВрдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЛред рд╣рдореЗрдВ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬреЗрдВред рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рд░реЛрдЪрдХ рд▓рдЧреЗ рддреЛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдПрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдирдП рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдирд┐рдпрдо рд╕реБрдЭрд╛рдПрдВред
рд╕рд╛рднрд╛рд░, рдПрдВрдбреНрд░реА рдХрд╛рд░реНрдкреЛрд╡, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХред
рдЖрдк
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреГрд╖реНрда рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╛ рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛: support [@] viva64.com, karpov [@] viva64.comред
рд╣рдореЗрдВ рдИрдореЗрд▓ рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рдорд░реНрдерди рд╣реИред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ, рд╕рдВрдЪрд╛рд░ рдореЗрдВ рднрд╛рдЧ рд▓реВрдВрдЧрд╛, рдФрд░ рдПрдХ рд╕рд╛рд░ рдорд╛рдирд╡ рд░реЛрдмреЛрдЯ рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред