{"action":"created","issue":{"url":"https://api.github.com/repos/faelys/libsoldout/issues/14","labels_url":"https://api.github.com/repos/faelys/libsoldout/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/faelys/libsoldout/issues/14/comments","events_url":"https://api.github.com/repos/faelys/libsoldout/issues/14/events","html_url":"https://github.com/faelys/libsoldout/issues/14","id":123929018,"number":14,"title":"Question about interface.","user":{"login":"garry-iglesias","id":2070116,"avatar_url":"https://avatars.githubusercontent.com/u/2070116?v=3","gravatar_id":"","url":"https://api.github.com/users/garry-iglesias","html_url":"https://github.com/garry-iglesias","followers_url":"https://api.github.com/users/garry-iglesias/followers","following_url":"https://api.github.com/users/garry-iglesias/following{/other_user}","gists_url":"https://api.github.com/users/garry-iglesias/gists{/gist_id}","starred_url":"https://api.github.com/users/garry-iglesias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garry-iglesias/subscriptions","organizations_url":"https://api.github.com/users/garry-iglesias/orgs","repos_url":"https://api.github.com/users/garry-iglesias/repos","events_url":"https://api.github.com/users/garry-iglesias/events{/privacy}","received_events_url":"https://api.github.com/users/garry-iglesias/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-26T13:12:57Z","updated_at":"2015-12-26T19:22:12Z","closed_at":null,"body":"Well it's an issue, but that would probably requires some refactor, so it's more a 'question'/'suggestion'.\r\n\r\nTo my knowledge, the renderer interface can't be correlated with some 'user data' (a void pointer). Moreover the \"output buffer\" have a 'hardcoded' type.\r\n\r\nThe questions is, if there's a renderer, why can't it be the \"owner\" of the output buffer ?\r\n\r\nMy \"ideal\" interface would be to pass, a \"renderer interface + user data pointer\" for the output (and the input it would have been great too).\r\n\r\nBecause with this interface we must \"translate\" foreign data containers with the library ones, which generates a lot of overhead in both memory and CPU time. Not mentioning the way library buffers are managed is not really optimal, but that wouldn't be a problem if we could just provide the 'in and out streams' to speak simple.\r\n"},"comment":{"url":"https://api.github.com/repos/faelys/libsoldout/issues/comments/167355532","html_url":"https://github.com/faelys/libsoldout/issues/14#issuecomment-167355532","issue_url":"https://api.github.com/repos/faelys/libsoldout/issues/14","id":167355532,"user":{"login":"faelys","id":5045634,"avatar_url":"https://avatars.githubusercontent.com/u/5045634?v=3","gravatar_id":"","url":"https://api.github.com/users/faelys","html_url":"https://github.com/faelys","followers_url":"https://api.github.com/users/faelys/followers","following_url":"https://api.github.com/users/faelys/following{/other_user}","gists_url":"https://api.github.com/users/faelys/gists{/gist_id}","starred_url":"https://api.github.com/users/faelys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/faelys/subscriptions","organizations_url":"https://api.github.com/users/faelys/orgs","repos_url":"https://api.github.com/users/faelys/repos","events_url":"https://api.github.com/users/faelys/events{/privacy}","received_events_url":"https://api.github.com/users/faelys/received_events","type":"User","site_admin":false},"created_at":"2015-12-26T19:22:12Z","updated_at":"2015-12-26T19:22:12Z","body":"Have you checked the `opaque` field of `struct mkd_renderer`?"}}