- few merges from pcap analyzer project

This commit is contained in:
Dmytro Bogovych 2025-08-13 14:07:36 +03:00
parent 011919f846
commit 6b6f4147db
4 changed files with 42 additions and 37 deletions

View File

@ -8,6 +8,10 @@
# include <Windows.h>
#endif
#if defined(TARGET_LINUX)
# include <arpa/inet.h>
#endif
#include "HL_Rtp.h"
#include "HL_Exception.h"
#include "HL_String.h"

View File

@ -1,4 +1,4 @@
/* Copyright(C) 2007-2017 VoIPobjects (voipobjects.com)
/* Copyright(C) 2007-2025 VoIPobjects (voipobjects.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@ -10,11 +10,8 @@
# include "jrtplib/src/rtppacket.h"
#endif
#include "HL_Uuid.h"
#include "HL_InternetAddress.h"
#include <vector>
#include <string>
#include <cstdint>
#include <stdlib.h>
// Class to carry rtp/rtcp socket pair
template<class T>

View File

@ -93,7 +93,11 @@ int strx::toInt(const char *s, int defaultValue, bool* isOk)
uint64_t strx::toUint64(const char* s, uint64_t def, bool *isOk)
{
uint64_t result = def;
if (sscanf(s, "%" SCNu64, &result) != 1)
#if defined(TARGET_WIN)
if (sscanf(s, "%I64d", &result) != 1)
#else
if (sscanf(s, "%llu", &result) != 1)
#endif
{
if (isOk)
*isOk = false;

View File

@ -9,18 +9,20 @@
#include <vector>
#include <string>
#include <sstream>
#include <stdint.h>
#include <cstdint>
#include "HL_Types.h"
#ifdef TARGET_OSX
#define stricmp strcasecmp
#endif
#include <cstdint>
class strx
{
public:
static std::string extractFilename(const std::string& path);
static std::string appendPath(const std::string& s1, const std::string& s2);
static std::string makeUtf8(const std::tstring& arg);
static std::string toUtf8(const std::tstring& arg);
static std::tstring makeTstring(const std::string& arg);
@ -31,15 +33,13 @@ public:
static std::string toHex(const void* ptr);
static std::string toHex(const uint8_t* input, size_t inputLength);
static std::string intToString(int value);
static std::string prefixLines(const std::string& source, const std::string& prefix);
static std::string doubleToString(double value, int precision);
static int fromHex2Int(const std::string& s);
static std::string fromHex2String(const std::string& s);
static float toFloat(const std::string& s, float defaultValue = 0.0, bool* isOk = nullptr);
static std::string extractFilename(const std::string& path);
static std::string appendPath(const std::string& s1, const std::string& s2);
static std::string prefixLines(const std::string& source, const std::string& prefix);
static const char* findSubstring(const char* buffer, const char* substring, size_t bufferLength);
static void split(const std::string& src, std::vector<std::string>& dst, const std::string& delims);
@ -51,7 +51,7 @@ public:
std::ostringstream s;
for (const auto& i : v)
{
if (&i != &v[0])
if (&i != &v.front())
s << delimiter;
s << i;
}
@ -69,10 +69,10 @@ public:
static bool startsWith(const std::string& s, const std::string& prefix);
static bool endsWith(const std::string& s, const std::string& suffix);
static int stringToDuration(const std::string& s);
static std::string uppercase(const std::string& s);
static std::string lowercase(const std::string& s);
static std::string removeQuotes(const std::string& s);
};
class XcapHelper