From 58506b0469f9de7afba6868e6761d9dae531bb4e Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sun, 8 Aug 2010 17:45:57 +0000 Subject: [PATCH] strdup to the rescue! --- src/core/song.cpp | 16 +++++++--------- src/core/utilities.cpp | 10 ---------- src/core/utilities.h | 2 -- src/devices/afcdevice.cpp | 2 +- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/core/song.cpp b/src/core/song.cpp index d40de6f42..cb0ddb4e4 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -444,19 +444,17 @@ void Song::InitFromLastFM(const lastfm::Track& track) { } void Song::ToItdb(Itdb_Track *track) const { - using Utilities::CopyStr; - - CopyStr(d->title_, &track->title); - CopyStr(d->album_, &track->album); - CopyStr(d->artist_, &track->artist); - CopyStr(d->albumartist_, &track->albumartist); - CopyStr(d->composer_, &track->composer); + track->title = strdup(d->title_.toUtf8().constData()); + track->album = strdup(d->album_.toUtf8().constData()); + track->artist = strdup(d->artist_.toUtf8().constData()); + track->albumartist = strdup(d->albumartist_.toUtf8().constData()); + track->composer = strdup(d->composer_.toUtf8().constData()); track->track_nr = d->track_; track->cd_nr = d->disc_; track->BPM = d->bpm_; track->year = d->year_; - CopyStr(d->genre_, &track->genre); - CopyStr(d->comment_, &track->comment); + track->genre = strdup(d->genre_.toUtf8().constData()); + track->comment = strdup(d->comment_.toUtf8().constData()); track->compilation = d->compilation_; track->tracklen = d->length_ * 1000; track->bitrate = d->bitrate_; diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index 17db6beb9..b34d8bece 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -135,14 +135,4 @@ void RemoveRecursive(const QString& path) { dir.rmdir(path); } -void CopyStr(const QString& str, char** dest_p) { - Q_ASSERT(*dest_p == NULL); - const QByteArray data = str.toUtf8(); - const int size = data.size() + 1; - - char* dest = new char[size]; - std::copy(data.constData(), data.constData() + size, dest); - *dest_p = dest; -} - } // namespace diff --git a/src/core/utilities.h b/src/core/utilities.h index dd4101d4b..726caf731 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -29,8 +29,6 @@ namespace Utilities { QString MakeTempDir(); void RemoveRecursive(const QString& path); - - void CopyStr(const QString& str, char** dest_p); } #endif // UTILITIES_H diff --git a/src/devices/afcdevice.cpp b/src/devices/afcdevice.cpp index fc974fd0d..3da31da37 100644 --- a/src/devices/afcdevice.cpp +++ b/src/devices/afcdevice.cpp @@ -107,7 +107,7 @@ bool AfcDevice::CopyToStorage( qDebug() << track->filetype_marker; // Set the filename - Utilities::CopyStr(dest, &track->ipod_path); + track->ipod_path = strdup(dest.toUtf8().constData()); itdb_filename_fs2ipod(track->ipod_path); qDebug() << track->ipod_path;