add last backwards-compatible version

This commit is contained in:
2021-12-14 00:33:46 -07:00
parent 68b10d413b
commit b0dd3f07f3
335 changed files with 4746 additions and 19627 deletions

View File

@@ -1,5 +1,4 @@
#include "pfc.h"
#include <set>
namespace pfc {
@@ -10,40 +9,6 @@ void string_receiver::add_char(t_uint32 p_char)
if (len>0) add_string(temp,len);
}
void string_base::skip_trailing_chars( const char * lstCharsStr ) {
std::set<unsigned> lstChars;
for ( ;; ) {
unsigned c;
auto delta = utf8_decode_char( lstCharsStr, c );
if ( delta == 0 ) break;
lstCharsStr += delta;
lstChars.insert( c );
}
const char * str = get_ptr();
t_size ptr,trunc = 0;
bool need_trunc = false;
for(ptr=0;str[ptr];)
{
unsigned c;
t_size delta = utf8_decode_char(str+ptr,c);
if (delta==0) break;
if ( lstChars.count( c ) > 0 )
{
if (!need_trunc) {
need_trunc = true;
trunc = ptr;
}
}
else
{
need_trunc = false;
}
ptr += delta;
}
if (need_trunc) truncate(trunc);
}
void string_base::skip_trailing_char(unsigned skip)
{
const char * str = get_ptr();
@@ -965,7 +930,6 @@ double parse_timecode(const char * in) {
}
format_time_ex::format_time_ex(double p_seconds,unsigned p_extra) {
if (p_seconds < 0) {m_buffer << "-"; p_seconds = -p_seconds;}
t_uint64 pow10 = pow10_helper(p_extra);
t_uint64 ticks = pfc::rint64(pow10 * p_seconds);
@@ -1029,7 +993,7 @@ int stringCompareCaseInsensitive(const char * s1, const char * s2) {
}
}
void format_file_size_short::format(t_uint64 size) {
format_file_size_short::format_file_size_short(t_uint64 size) {
t_uint64 scale = 1;
const char * unit = "B";
const char * const unitTable[] = {"B","KB","MB","GB","TB"};
@@ -1111,17 +1075,12 @@ void string_base::truncate_to_parent_path() {
this->truncate( at );
}
size_t string_base::replace_string(const char * replace, const char * replaceWith, t_size start) {
string_formatter temp;
size_t ret = replace_string_ex(temp, replace, replaceWith, start);
if ( ret > 0 ) * this = temp;
return ret;
}
size_t string_base::replace_string_ex (string_base & temp, const char * replace, const char * replaceWith, t_size start) const {
t_size string_base::replace_string ( const char * replace, const char * replaceWith, t_size start) {
string_formatter temp;
size_t srcDone = 0, walk = start;
size_t occurances = 0;
const char * const source = this->get_ptr();
bool clear = false;
const size_t replaceLen = strlen( replace );
for(;;) {
const char * ptr = strstr( source + walk, replace );
@@ -1135,18 +1094,15 @@ size_t string_base::replace_string_ex (string_base & temp, const char * replace,
}
++occurances;
walk = ptr - source;
if (! clear ) {
temp.reset();
clear = true;
}
temp.add_string( source + srcDone, walk - srcDone );
temp.add_string( replaceWith );
walk += replaceLen;
srcDone = walk;
}
this->set_string( temp );
return occurances;
}
void urlEncodeAppendRaw(pfc::string_base & out, const char * in, t_size inSize) {
for(t_size walk = 0; walk < inSize; ++walk) {
const char c = in[walk];
@@ -1190,7 +1146,7 @@ uint32_t charLower(uint32_t param)
}
#ifdef PFC_WINDOWS_DESKTOP_APP
else if (param<0x10000) {
return (uint32_t)(size_t)CharLowerW((WCHAR*)(size_t)param);
return (unsigned)CharLowerW((WCHAR*)param);
}
#endif
else return param;
@@ -1204,7 +1160,7 @@ uint32_t charUpper(uint32_t param)
}
#ifdef PFC_WINDOWS_DESKTOP_APP
else if (param<0x10000) {
return (uint32_t)(size_t)CharUpperW((WCHAR*)(size_t)param);
return (unsigned)CharUpperW((WCHAR*)param);
}
#endif
else return param;
@@ -1334,34 +1290,4 @@ void string_base::fix_dir_separator(char c) {
return equals(make(str) );
}
string8 lineEndingsToWin(const char * str) {
string8 ret;
const char * walk = str;
for( ;; ) {
const char * eol = strchr( walk, '\n' );
if ( eol == nullptr ) {
ret += walk; break;
}
const char * next = eol + 1;
if ( eol > walk ) {
if (eol[-1] == '\r') --eol;
if ( eol > walk ) ret.add_string_nc(walk, eol-walk);
}
ret.add_string_nc("\r\n",2);
walk = next;
}
return ret;
}
string8 stringToUpper(const char * str, size_t len) {
string8 ret;
stringToUpperAppend(ret, str, len);
return ret;
}
string8 stringToLower(const char * str, size_t len) {
string8 ret;
stringToLowerAppend(ret, str, len);
return ret;
}
} //namespace pfc