Show
Ignore:
Timestamp:
04/13/08 21:06:38 (9 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

Fix null termination in FonData?(char[])

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/graphics/FontData.d

    r197 r204  
    236236        } 
    237237        char[] buffer = string.substring(start); 
    238         int len = Math.min(OS.LF_FACESIZE - 1, buffer.length); 
    239         newData.lfFaceName[ 0 .. len ] = .StrToTCHARs(buffer)[ 0 .. len ]; 
     238        auto wname = StrToTCHARs(buffer); 
     239        int len = Math.min(OS.LF_FACESIZE - 1, wname.length); 
     240        newData.lfFaceName[ 0 .. len ] = wname[ 0 .. len ]; 
     241        newData.lfFaceName[ len .. $ ] = 0; 
    240242        data = newData; 
    241243    } 
     
    550552 
    551553    /* The field lfFaceName must be NULL terminated */ 
    552     int len = Math.min(OS.LF_FACESIZE - 1, name.length); 
    553  
    554     data.lfFaceName[0 .. len] = .StrToTCHARs(name)[0 .. len]; 
    555     data.lfFaceName[len] = 0; 
     554    auto wname = StrToTCHARs(name); 
     555    int len = Math.min(OS.LF_FACESIZE - 1, wname.length); 
     556    data.lfFaceName[0 .. len] = wname[ 0 .. len ]; 
     557    data.lfFaceName[len .. $] = 0; 
    556558} 
    557559