{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/7628","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/7628/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/7628/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/7628/events","html_url":"https://github.com/xbmc/xbmc/pull/7628","id":97341108,"number":7628,"title":"[epg] make EPG_TAG members non-const","user":{"login":"Jalle19","id":1106133,"avatar_url":"https://avatars.githubusercontent.com/u/1106133?v=3","gravatar_id":"","url":"https://api.github.com/users/Jalle19","html_url":"https://github.com/Jalle19","followers_url":"https://api.github.com/users/Jalle19/followers","following_url":"https://api.github.com/users/Jalle19/following{/other_user}","gists_url":"https://api.github.com/users/Jalle19/gists{/gist_id}","starred_url":"https://api.github.com/users/Jalle19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jalle19/subscriptions","organizations_url":"https://api.github.com/users/Jalle19/orgs","repos_url":"https://api.github.com/users/Jalle19/repos","events_url":"https://api.github.com/users/Jalle19/events{/privacy}","received_events_url":"https://api.github.com/users/Jalle19/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/API%20change","name":"API change","color":"02d7e1"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/PVR","name":"PVR","color":"e102d8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-07-26T18:53:01Z","updated_at":"2015-08-06T14:10:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/7628","html_url":"https://github.com/xbmc/xbmc/pull/7628","diff_url":"https://github.com/xbmc/xbmc/pull/7628.diff","patch_url":"https://github.com/xbmc/xbmc/pull/7628.patch"},"body":"Sadly going from const to non-const breaks the ABI so this includes a minor bump.\r\n\r\nThe problem is that `EPG_TAG` only takes `const char *` for strings. This means that PVR addons that make this simple mistake are screwed (the title will be garbage and the whole thing may crash):\r\n\r\n```\r\nclass Event {\r\n  ...\r\n  std::string GetTitle() const { return m_title; }\r\n  ...\r\n}\r\n\r\nEvent event;\r\nEPG_TAG tag;\r\ntag.strTitle = event.GetTitle().c_str();\r\n```\r\n\r\nNone of the other PVR structs have `const char *` members so I don't see why `EPG_TAG` has to have them.\r\n\r\n@opdenkamp "},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/128380067","html_url":"https://github.com/xbmc/xbmc/pull/7628#issuecomment-128380067","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/7628","id":128380067,"user":{"login":"Jalle19","id":1106133,"avatar_url":"https://avatars.githubusercontent.com/u/1106133?v=3","gravatar_id":"","url":"https://api.github.com/users/Jalle19","html_url":"https://github.com/Jalle19","followers_url":"https://api.github.com/users/Jalle19/followers","following_url":"https://api.github.com/users/Jalle19/following{/other_user}","gists_url":"https://api.github.com/users/Jalle19/gists{/gist_id}","starred_url":"https://api.github.com/users/Jalle19/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jalle19/subscriptions","organizations_url":"https://api.github.com/users/Jalle19/orgs","repos_url":"https://api.github.com/users/Jalle19/repos","events_url":"https://api.github.com/users/Jalle19/events{/privacy}","received_events_url":"https://api.github.com/users/Jalle19/received_events","type":"User","site_admin":false},"created_at":"2015-08-06T14:10:54Z","updated_at":"2015-08-06T14:10:54Z","body":"@janbar see the snippet in the PR description."}}