Sha256: 715f5d1abcc6de47d6a06a60c602697fee1457060911334f5b3cb88554d5a894

Contents?: true

Size: 1.2 KB

Versions: 10

Compression:

Stored size: 1.2 KB

Contents

require 'Win32API'

module Windows
   module MSVCRT
      module String
         Strcpy = Win32API.new('msvcrt', 'strcpy', 'PL', 'l')
         Strrev = Win32API.new('msvcrt', '_strrev', 'P', 'P')
         
         Mbscpy = Win32API.new('msvcrt', '_mbscpy', 'PL', 'L')
         Mbsrev = Win32API.new('msvcrt', '_mbsrev', 'P', 'P')
         
         Wcscpy = Win32API.new('msvcrt', 'wcscpy', 'PL', 'l')
         Wcsrev = Win32API.new('msvcrt', '_wcsrev', 'P', 'P')       

         def strcpy(dest, src)
            return nil if src == 0
            Strcpy.call(dest, src)
         end
         
         def strrev(str)
            return nil if str == 0
            Strrev.call(str)
         end
         
         def mbscpy(dest, src)
            return nil if src == 0
            Mbscpy.call(dest, src)
         end
         
         def mbsrev(str)
            return nil if str == 0
            Mbsrev.call(str)
         end

         def wcscpy(dest, src)
            return nil if src == 0
            Wcscpy.call(dest, src)
         end
         
         def wcsrev(str)
            return nil if str == 0
            Wcsrev.call(str)
         end  
      end
   end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
IOWA-1.0.3 external/windows-pr/lib/windows/msvcrt/string.rb
IOWA-1.0.2 external/windows-pr/lib/windows/msvcrt/string.rb
IOWA-1.0.0 external/windows-pr/lib/windows/msvcrt/string.rb
windows-pr-0.5.2-mswin32 lib/windows/msvcrt/string.rb
windows-pr-0.5.3 lib/windows/msvcrt/string.rb
windows-pr-0.5.5 lib/windows/msvcrt/string.rb
windows-pr-0.6.0 lib/windows/msvcrt/string.rb
windows-pr-0.6.2 lib/windows/msvcrt/string.rb
windows-pr-0.6.3 lib/windows/msvcrt/string.rb
windows-pr-0.5.4 lib/windows/msvcrt/string.rb