[rygel/wip/didl-s: 21/25] renderer: Fix triple-escaping
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel/wip/didl-s: 21/25] renderer: Fix triple-escaping
- Date: Tue, 20 Nov 2012 16:12:09 +0000 (UTC)
commit 661e44d4a8bb648f91cdf3d2bcc62ac9d89ab1de
Author: Jens Georg <jensg openismus com>
Date: Tue Nov 20 16:26:18 2012 +0100
renderer: Fix triple-escaping
src/librygel-renderer/rygel-av-transport.vala | 35 +++++++++++++++----------
1 files changed, 21 insertions(+), 14 deletions(-)
---
diff --git a/src/librygel-renderer/rygel-av-transport.vala b/src/librygel-renderer/rygel-av-transport.vala
index 06029b5..79d7214 100644
--- a/src/librygel-renderer/rygel-av-transport.vala
+++ b/src/librygel-renderer/rygel-av-transport.vala
@@ -68,35 +68,39 @@ internal class Rygel.AVTransport : Service {
public string metadata {
owned get {
if (this._metadata != null) {
- if (this._metadata.has_prefix ("<")) {
- return this._metadata;
- }
- return Markup.escape_text (this._metadata);
+ return this._metadata;
} else {
return "";
}
}
set {
- this._metadata = value;
+ var v = value.replace (""", "\"");
+ v = v.replace ("<", "<");
+ v = v.replace (">", ">");
+ v = v.replace ("'", "'");
+ v = v.replace ("&", "&");
+
+ this._metadata = v;
}
}
public string track_metadata {
owned get {
if (this.player.metadata != null) {
- if (this.player.metadata.has_prefix ("<")) {
- return this.player.metadata;
- }
-
- return Markup.escape_text (this.player.metadata);
+ return this.player.metadata;
} else {
return "";
}
}
set {
- this.player.metadata = value;
+ var v = value.replace (""", "\"");
+ v = v.replace ("<", "<");
+ v = v.replace (">", ">");
+ v = v.replace ("'", "'");
+ v = v.replace ("&", "&");
+ this.player.metadata = v;
}
}
@@ -232,8 +236,10 @@ internal class Rygel.AVTransport : Service {
log.log ("CurrentTrack", this.track.to_string ());
log.log ("CurrentTrackDuration", this.player.duration_as_str);
log.log ("CurrentMediaDuration", this.player.duration_as_str);
- log.log ("CurrentTrackMetaData", this.track_metadata);
- log.log ("AVTransportURIMetaData", this.metadata);
+ log.log ("CurrentTrackMetaData",
+ Markup.escape_text (this.track_metadata));
+ log.log ("AVTransportURIMetaData",
+ Markup.escape_text (this.metadata));
log.log ("CurrentTrackURI", this.track_uri);
log.log ("AVTransportURI", this.uri);
log.log ("NextAVTransportURI", "NOT_IMPLEMENTED");
@@ -686,7 +692,8 @@ internal class Rygel.AVTransport : Service {
private void notify_meta_data_cb (Object player, ParamSpec p) {
this._metadata = this.player.metadata;
- this.changelog.log ("CurrentTrackMetadata", this.metadata);
+ this.changelog.log ("CurrentTrackMetadata",
+ Markup.escape_text (this.metadata));
}
private async void handle_playlist (ServiceAction action) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]