← 输入框|github.com|刷新
Skip to content

boost\network\uri\uri.hpp(336,40): warning C4244: 'argument': conversion from '__int64' to 'long', possible loss of data #896

Open

Description

@BullyWiiPlaza

Hi, I'm using vcpkg and when I include cpp-netlib in my codebase, I always get the following compilation warning:

C:\vcpkg\installed\x64-windows-static\include\boost\network\uri\uri.hpp(336,40): warning C4244: 'argument': conversion from '__int64' to 'long', possible loss of data (compiling source file main.cpp)

This would easily be fixed by adding a respective cast in this library:

inline bool operator==(const uri &lhs, const uri::value_type *rhs) {
  auto rlen = std::strlen(rhs);
  size_t llen = std::labs((long) std::distance(lhs.begin(), lhs.end())); // <---
  if (rlen != llen) return false;
  return boost::equal(lhs, boost::make_iterator_range(rhs, rhs + rlen));
}

Activity

  1. BullyWiiPlaza commented on Feb 26, 2022

    @BullyWiiPlaza
    Author

    Is this issue getting noticed at all?
    It's still not resolved in Boost version 1.78.0 and it would be so simple...

  2. self-assigned this
    on Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions