13
0

remove C++11'isms from libptformat. back to C++98 compat.

This commit is contained in:
Robin Gareus 2016-02-13 23:15:47 +01:00
parent d442190b8a
commit 48532baaa7
2 changed files with 26 additions and 17 deletions

View File

@ -589,18 +589,13 @@ PTFFormat::parserest5(void) {
vector<track_t>::iterator ti; vector<track_t>::iterator ti;
vector<track_t>::iterator bt = tracks.begin(); vector<track_t>::iterator bt = tracks.begin();
vector<track_t>::iterator et = tracks.end(); vector<track_t>::iterator et = tracks.end();
track_t tr = { name, 0, 0, r }; track_t tr ( name, 0, 0, &r);
if ((ti = std::find(bt, et, tr)) != et) { if ((ti = std::find(bt, et, tr)) != et) {
tracknumber = (*ti).index; tracknumber = (*ti).index;
} else { } else {
tracknumber = tracks.size() + 1; tracknumber = tracks.size() + 1;
} }
track_t t = { track_t t ( name, (uint16_t)tracknumber, uint8_t(0), &r);
name,
(uint16_t)tracknumber,
uint8_t(0),
r
};
tracks.push_back(t); tracks.push_back(t);
} else { } else {
region_t r = { region_t r = {
@ -615,18 +610,13 @@ PTFFormat::parserest5(void) {
vector<track_t>::iterator ti; vector<track_t>::iterator ti;
vector<track_t>::iterator bt = tracks.begin(); vector<track_t>::iterator bt = tracks.begin();
vector<track_t>::iterator et = tracks.end(); vector<track_t>::iterator et = tracks.end();
track_t tr = { name, 0, 0, r }; track_t tr ( name, 0, 0, &r );
if ((ti = std::find(bt, et, tr)) != et) { if ((ti = std::find(bt, et, tr)) != et) {
tracknumber = (*ti).index; tracknumber = (*ti).index;
} else { } else {
tracknumber = tracks.size() + 1; tracknumber = tracks.size() + 1;
} }
track_t t = { track_t t ( name, (uint16_t)tracknumber, uint8_t(0), &r);
name,
(uint16_t)tracknumber,
uint8_t(0),
r
};
tracks.push_back(t); tracks.push_back(t);
} }
rindex++; rindex++;
@ -1307,7 +1297,7 @@ PTFFormat::parserest10(void) {
vector<region_t>::iterator finish = regions.end(); vector<region_t>::iterator finish = regions.end();
vector<region_t>::iterator found; vector<region_t>::iterator found;
if ((found = std::find(begin, finish, tr.reg)) != finish) { if ((found = std::find(begin, finish, tr.reg)) != finish) {
tr.reg = (*found); tr.set_region (&(*found));
} }
i = l+16; i = l+16;
offset = 0; offset = 0;

View File

@ -39,12 +39,12 @@ public:
int64_t posabsolute; int64_t posabsolute;
int64_t length; int64_t length;
bool operator <(const struct wav& other) { bool operator <(const struct wav& other) const {
return (strcasecmp(this->filename.c_str(), return (strcasecmp(this->filename.c_str(),
other.filename.c_str()) < 0); other.filename.c_str()) < 0);
} }
bool operator ==(const struct wav& other) { bool operator ==(const struct wav& other) const {
return (this->filename == other.filename || return (this->filename == other.filename ||
this->index == other.index); this->index == other.index);
} }
@ -65,6 +65,25 @@ public:
} region_t; } region_t;
typedef struct track { typedef struct track {
track ()
: index (0)
, playlist (0)
{
memset ((void*)&reg, 0, sizeof(region_t));
}
track (std::string n, uint16_t i, uint8_t p, region_t *r)
: name (n)
, index (i)
, playlist (p)
{
set_region (r);
}
void set_region (region_t *r) {
memcpy ((void*)&reg, (void*)r, sizeof(region_t));
}
std::string name; std::string name;
uint16_t index; uint16_t index;
uint8_t playlist; uint8_t playlist;