Max Kellermann
993f8d6a5e
db/Print: pass RangeArg to db_selection_print()
2018-09-02 08:17:22 +02:00
Max Kellermann
68f824a186
protocol/ArgParser: move struct RangeArg to separate header
2018-09-02 08:17:22 +02:00
Max Kellermann
b9cca49e14
lib/dbus/ReadIter: switch off -Wshadow on GCC<8
...
GCC 6.3.0 emits bogus warnings like this:
In file included from src/lib/dbus/UDisks2.cxx:22:0:
src/lib/dbus/ReadIter.hxx: In instantiation of 'ODBus::ReadMessageIter::ForEachProperty(F&&)::<lambda(auto:2&&)> [with auto:2 = ODBus::ReadMessageIter; F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]':
src/lib/dbus/ReadIter.hxx:102:6: required from 'ODBus::ReadMessageIter::ForEachRecurse(int, F&&)::<lambda(auto:1&&)> [with auto:1 = ODBus::ReadMessageIter&; F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
src/lib/dbus/ReadIter.hxx:92:5: required from 'void ODBus::ReadMessageIter::ForEach(int, F&&) [with F = ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]::<lambda(auto:1&&)>]'
src/lib/dbus/ReadIter.hxx:101:3: required from 'void ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
src/lib/dbus/ReadIter.hxx:114:3: required from 'void ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]'
src/lib/dbus/UDisks2.cxx:71:30: required from here
src/lib/dbus/ReadIter.hxx:114:53: error: declaration of 'ODBus::ReadMessageIter&& i' shadows a parameter [-Werror=shadow]
ForEachRecurse(DBUS_TYPE_DICT_ENTRY, [&f](auto &&i){
^
src/lib/dbus/ReadIter.hxx:101:33: note: shadowed declaration is here
ForEach(arg_type, [&f](auto &&i){
^
2018-09-02 08:17:21 +02:00
Max Kellermann
931b571e3d
neighbor/udisks: add this->
to work around GCC 6 bug
...
Since `this` was captured, it does not need to be specified, but GCC 6
can't do it. Since we want to support the standard compiler from
Debian Stretch (stable), we need to work around this problem:
src/neighbor/plugins/UdisksNeighborPlugin.cxx:239:12: error: cannot call member function 'void UdisksNeighborExplorer::Insert(UDisks2::Object&&)' without object
Insert(std::move(o));
~~~~~~^~~~~~~~~~~~~~
This fixes #300 which I previously thought was a different bug.
2018-09-02 08:12:51 +02:00
Rainer Hihn
b7b93bb67e
First draft of the protocol as rst
2018-08-28 18:08:22 +02:00
Max Kellermann
35eca08d48
java/*: add noexcept
2018-08-28 13:27:28 +02:00
Max Kellermann
7137ca375a
Merge branch 'v0.20.x'
2018-08-28 13:27:04 +02:00
Max Kellermann
282859a62a
java/String: include cleanup
2018-08-28 13:07:28 +02:00
Max Kellermann
fbeb5eefdc
java/Class: drop unnecessary namespace spec
2018-08-28 13:01:01 +02:00
Max Kellermann
85bada0505
java/Class: use DiscardException() in FindOptional()
...
Sometimes, the JVM returns a non-nullptr value with an exception
pending (seen on Android 1.6, maybe a Dalvik bug?). Let's catch all
such cases.
2018-08-28 13:00:08 +02:00
Max Kellermann
fe2f7a3e5a
configure.ac: add automake conditional "LINUX"
2018-08-22 16:09:40 +02:00
Max Kellermann
98eed1f5ab
system/EpollFD: use class UniqueFileDescriptor
2018-08-22 16:09:40 +02:00
Max Kellermann
5d0a463f09
system/{Epoll,Event,Signal}FD: relicense to BSD-2
2018-08-22 15:40:45 +02:00
Max Kellermann
dd461400fb
system/EPollFD: rename to EpollFD
2018-08-22 15:40:45 +02:00
Max Kellermann
b1390ec27f
system/UniqueFileDescriptor: make the "int" constructor public
2018-08-22 15:40:45 +02:00
Max Kellermann
dda5516eec
net/IPv6Address: pass reference to Cast()
2018-08-21 20:21:41 +02:00
Max Kellermann
adc5c5db88
net/IPv4Address: pass reference to Cast()
2018-08-21 20:16:57 +02:00
Max Kellermann
0642ce4795
fs/io/FileOutputStream: make linkat() mandatory on Linux
2018-08-21 19:02:03 +02:00
Max Kellermann
d11e1d5880
fs/io/FileOutputStream: add "noexcept"
2018-08-21 18:56:14 +02:00
Max Kellermann
b143477774
fs/io/BufferedReader: add "noexcept" to constructor
2018-08-21 18:52:57 +02:00
Max Kellermann
d092a88a93
system/Open: new UniqueFileDescriptor constructing library
2018-08-21 18:27:39 +02:00
Max Kellermann
ab7597b089
fs/io/FileReader: use class UniqueFileDescriptor
2018-08-21 18:26:36 +02:00
Max Kellermann
84df470008
fs/io/FileReader: use std::exchange()
2018-08-21 18:26:34 +02:00
Max Kellermann
5ca0b7a28f
fs/io/FileReader: add "noexcept"
2018-08-21 18:26:09 +02:00
Max Kellermann
21d621e7ad
fs/io/FileReader: simplify includes
2018-08-21 18:26:09 +02:00
Max Kellermann
d036e20826
system/FileDescriptor: add openat() wrapper
2018-08-21 18:15:37 +02:00
Max Kellermann
9151b84c25
net/AllocatedSocketAddress: convert operator== to template
2018-08-21 12:26:19 +02:00
Max Kellermann
5d7dd12f7a
net/SocketDescriptor: add multicast methods
2018-08-21 11:37:19 +02:00
Max Kellermann
21783ff5f7
net/SocketDescriptor: remove unnecessary SO_REUSEPORT check
2018-08-21 11:35:29 +02:00
Max Kellermann
fd923d5d96
net/SocketDescriptor: add Shutdown()
2018-08-21 11:31:58 +02:00
Max Kellermann
ebf607eef8
net/SocketDescriptor: fix SOCK_NONBLOCK flag in CreateSocketPairNonBlock()
2018-08-21 11:27:15 +02:00
Max Kellermann
e092eadd8d
net/SocketDescriptor: add "noexcept"
2018-08-21 11:08:34 +02:00
Max Kellermann
185148f57c
net/SocketAddress: add cast to size_type
2018-08-21 11:06:05 +02:00
Max Kellermann
ede7434901
net/SocketAddress: add GetSteadyPart()
2018-08-21 10:57:46 +02:00
Max Kellermann
ba3b422ce5
net/SocketDescriptor: make accept4() mandatory on Linux
2018-08-21 10:53:54 +02:00
Max Kellermann
1f3ce380ed
net/SocketAddress: reimplement GetPort() using IPv4Address::GetPort()
2018-08-21 10:49:55 +02:00
Max Kellermann
dfc1f6342a
net/SocketAddress: add IsV4Mapped()
2018-08-21 10:48:37 +02:00
Max Kellermann
94092f1f90
net/SocketAddress: reimplement IsV6Any() using IPv6Address::IsAny()
2018-08-21 10:46:20 +02:00
Max Kellermann
a84b83f20f
net/IPv6Address: new class
2018-08-21 10:39:54 +02:00
Max Kellermann
614e410fe7
net/Resolver: update copyright year
2018-08-21 10:30:24 +02:00
Max Kellermann
4a1e885c0a
net/Resolver: replace with more advanced implementation
...
The new implementation is copied from another project and is
BSD-licensed. It is exception-safe and can parse IPv6 scope ids with
interface names.
2018-08-21 08:26:12 +02:00
Max Kellermann
eee91aa4ea
util/Exception: update copyright
2018-08-21 08:20:52 +02:00
Max Kellermann
855750c784
util/{Const,Writable}Buffer: add method SetEnd()
2018-08-21 08:20:17 +02:00
Max Kellermann
4f2163e76c
system/FileDescriptor: include cleanup
2018-08-20 17:25:42 +02:00
Max Kellermann
eef66dee04
system/FileDescriptor: pass FileDescriptor to CheckDuplicate()
2018-08-20 17:23:14 +02:00
Max Kellermann
7ad440ca1c
net/SocketDescriptor: make eventfd() and signalfd() mandatory on Linux
2018-08-20 17:16:07 +02:00
Max Kellermann
13b3e9e7b3
system/FileDescriptor: make inotify_init1() mandatory on Linux
2018-08-20 17:12:50 +02:00
Max Kellermann
8106929d60
system/FileDescriptor: add pipe2() wrapper
2018-08-20 17:05:29 +02:00
Max Kellermann
795baed3f5
system/FileDescriptor: make pipe2() mandatory on Linux
2018-08-20 17:04:43 +02:00
Max Kellermann
5487d40be9
system/FileDescriptor: add operator!=
2018-08-20 16:49:14 +02:00