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())
|
||