Bug #2299 ยป snprintf.patch
daemon/face/ethernet-face.cpp | ||
---|---|---|
#include <pcap/pcap.h>
|
||
#include <cerrno> // for errno
|
||
#include <cstdio> // for std::snprintf()
|
||
#include <stdio.h>
|
||
#include <cstring> // for std::strerror() and std::strncpy()
|
||
#include <arpa/inet.h> // for htons() and ntohs()
|
||
#include <net/ethernet.h> // for struct ether_header
|
||
... | ... | |
m_slicer.reset(new ndnlp::Slicer(m_interfaceMtu));
|
||
char filter[100];
|
||
std::snprintf(filter, sizeof(filter),
|
||
"(ether proto 0x%x) && (ether dst %s) && (not ether src %s)",
|
||
ethernet::ETHERTYPE_NDN,
|
||
m_destAddress.toString().c_str(),
|
||
m_srcAddress.toString().c_str());
|
||
// - std::snprintf not found in some environments
|
||
// http://redmine.named-data.net/issues/2299 for more information
|
||
snprintf(filter, sizeof(filter),
|
||
"(ether proto 0x%x) && (ether dst %s) && (not ether src %s)",
|
||
ethernet::ETHERTYPE_NDN,
|
||
m_destAddress.toString().c_str(),
|
||
m_srcAddress.toString().c_str());
|
||
setPacketFilter(filter);
|
||
if (!m_destAddress.isBroadcast() && !joinMulticastGroup())
|