]> granicus.if.org Git - taglib/commitdiff
added check for readOnly in save methods
authorMathias Panzenböck <grosser.meister.morti@gmx.net>
Tue, 14 Jun 2011 13:34:16 +0000 (15:34 +0200)
committerMathias Panzenböck <grosser.meister.morti@gmx.net>
Tue, 14 Jun 2011 13:34:16 +0000 (15:34 +0200)
taglib/it/itfile.cpp
taglib/mod/modfile.cpp
taglib/s3m/s3mfile.cpp
taglib/xm/xmfile.cpp

index b5e12cb42aad929f872c5c871f4f890aaf8cbf92..3f65cd7c282039a3acbab191973cecfc40fcebf9 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "tstringlist.h"
 #include "itfile.h"
+#include "tdebug.h"
 #include "modfileprivate.h"
 
 using namespace TagLib;
@@ -76,6 +77,11 @@ IT::Properties *IT::File::audioProperties() const
 
 bool IT::File::save()
 {
+  if(readOnly())
+  {
+    debug("IT::File::save() - Cannot save to a read only file.");
+    return false;
+  }
   seek(4);
   writeString(d->tag.title(), 26);
   // TODO: write comment as instrument and sample names
index 669db096968961025bb368b0ef8040b69955cd57..322153375ca7830dfea1f1153a474a8d2da1a35b 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "modfile.h"
 #include "tstringlist.h"
+#include "tdebug.h"
 #include "modfileprivate.h"
 
 using namespace TagLib;
@@ -71,6 +72,11 @@ Mod::Properties *Mod::File::audioProperties() const
 
 bool Mod::File::save()
 {
+  if(readOnly())
+  {
+    debug("Mod::File::save() - Cannot save to a read only file.");
+    return false;
+  }
   seek(0);
   writeString(d->tag.title(), 20, ' ');
   // TODO: write comment as instrument names
index c0d4b241b22875cb7ae629990e8e1e0805ee6693..45556cc614e038a12c2b34f3de94c9e89c71fccf 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "s3mfile.h"
 #include "tstringlist.h"
+#include "tdebug.h"
 #include "modfileprivate.h"
 
 using namespace TagLib;
@@ -71,6 +72,11 @@ S3M::Properties *S3M::File::audioProperties() const
 
 bool S3M::File::save()
 {
+  if(readOnly())
+  {
+    debug("S3M::File::save() - Cannot save to a read only file.");
+    return false;
+  }
   // note: if title starts with "Extended Module: "
   // the file would look like an .xm file
   seek(0);
index ed5e07ec2a14955abccad7f537b137c16b98a662..57b6be7b535577a4cd16d4d303f18b8c210b9579 100644 (file)
@@ -20,6 +20,7 @@
  ***************************************************************************/
 
 #include "tstringlist.h"
+#include "tdebug.h"
 #include "xmfile.h"
 #include "modfileprivate.h"
 
@@ -73,6 +74,11 @@ XM::Properties *XM::File::audioProperties() const
 
 bool XM::File::save()
 {
+  if(readOnly())
+  {
+    debug("XM::File::save() - Cannot save to a read only file.");
+    return false;
+  }
   seek(17);
   writeString(d->tag.title(), 20);
   seek(1, Current);