diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2019-11-29 14:40:22 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2019-11-29 14:40:22 +0300 |
commit | 3263f4b47a7145e255563aa6970d0c248f7f1ca6 (patch) | |
tree | 903482119c868de7ecfc00e47ef3dada460653ed /apt-pkg/contrib | |
parent | b0fec477a67e299f5ba1f3943d899edc31d20f5a (diff) | |
download | apt-3263f4b47a7145e255563aa6970d0c248f7f1ca6.tar.gz |
Use appropriate getservbyport_r()
Diffstat (limited to 'apt-pkg/contrib')
-rw-r--r-- | apt-pkg/contrib/srvrec.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/apt-pkg/contrib/srvrec.cc b/apt-pkg/contrib/srvrec.cc index 7d9bf116e..522e8ab9c 100644 --- a/apt-pkg/contrib/srvrec.cc +++ b/apt-pkg/contrib/srvrec.cc @@ -49,10 +49,15 @@ bool GetSrvRecords(std::string host, int port, std::vector<SrvRec> &Result) struct servent *s_ent = nullptr; std::vector<char> buf(1024); +#ifdef SOLARIS_GETSERVBYPORT_R + s_ent = getservbyport_r(htons(port), "tcp", &s_ent_buf, buf.data(), buf.size()); + if (s_ent == nullptr) + return false; +#else res = getservbyport_r(htons(port), "tcp", &s_ent_buf, buf.data(), buf.size(), &s_ent); if (res != 0 || s_ent == nullptr) return false; - +#endif strprintf(target, "_%s._tcp.%s", s_ent->s_name, host.c_str()); return GetSrvRecords(target, Result); } |