рдиреГрд╢рдВрд╕, рджреБрдирд┐рдпрд╛! рд╣рдордиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ 4.00 рдХреЛ рдореБрдХреНрдд рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛

TortoiseSVN рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдзреНрдпрд╛рди рдореЗрдВ 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-рдмрд┐рдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕реАрдорд┐рдд рд╣реИ ( рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЛрдб рджреЗрдЦреЗрдВ)ред



рдЦрд┐рдбрд╝рдХреА рддреАрди рдмрдЯрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдЦрд╛рддреА рд╣реИ, рдЬреЛ рддреАрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

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ред



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



All Articles