Skip to content
  • Ramsay Jones's avatar
    msvc: test-svn-fe: Fix linker "unresolved external" error · d0f9dbb9
    Ramsay Jones authored and Junio C Hamano's avatar Junio C Hamano committed
    In particular, while linking test-svn-fe.exe, the linker complains
    that the external symbol _strtoull is unresolved. A call to this
    function was added in commit ddcc8c5b
    
     ("vcs-svn: skeleton of an svn
    delta parser", 25-12-2010).
    
    The NO_STRTOULL build variable attempts to provide support to old
    systems which can't even declare 'unsigned long long' variables,
    let alone provide the strtoll() or strtoull() functions. Setting
    this build variable does not provide an implementation of these
    functions. Rather, it simply allows the compat implementations
    of strto{i,u}max() to use strtol() and strtoul() instead.
    
    In order to fix the linker error on systems with NO_STRTOULL set,
    currently MSVC and OSF1, we can substitute a call to strtoumax().
    
    However, we can easily provide support for the strtoull() and
    strtoll() functions on MSVC, since they are essentially already
    available as _strtoui64() and _strtoi64(). This allows us to
    remove NO_STRTOULL for MSVC.
    
    Signed-off-by: default avatarRamsay Jones <ramsay@ramsay1.demon.co.uk>
    Tested-by: default avatarJohannes Sixt <j6t@kdbg.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    d0f9dbb9