{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/575","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/575/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/575/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/575/events","html_url":"https://github.com/rust-lang/rfcs/pull/575","id":54135551,"number":575,"title":"Amend to RFC 517: add subsection on string handling","user":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"milestone":null,"comments":12,"created_at":"2015-01-13T00:37:16Z","updated_at":"2015-01-15T22:15:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/575","html_url":"https://github.com/rust-lang/rfcs/pull/575","diff_url":"https://github.com/rust-lang/rfcs/pull/575.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/575.patch"},"body":"The [IO reform RFC](https://github.com/rust-lang/rfcs/pull/517) is [being split](https://github.com/rust-lang/rfcs/pull/517#issuecomment-69669731) into several semi-independent pieces, posted as PRs like this one.\r\n\r\nThis RFC amendment adds the string handling section.\r\n\r\n[Rendered](https://github.com/rust-lang/rfcs/pull/575/files?short_path=0372b19)"},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/70172782","html_url":"https://github.com/rust-lang/rfcs/pull/575#issuecomment-70172782","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/575","id":70172782,"user":{"login":"retep998","id":666308,"avatar_url":"https://avatars.githubusercontent.com/u/666308?v=3","gravatar_id":"","url":"https://api.github.com/users/retep998","html_url":"https://github.com/retep998","followers_url":"https://api.github.com/users/retep998/followers","following_url":"https://api.github.com/users/retep998/following{/other_user}","gists_url":"https://api.github.com/users/retep998/gists{/gist_id}","starred_url":"https://api.github.com/users/retep998/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retep998/subscriptions","organizations_url":"https://api.github.com/users/retep998/orgs","repos_url":"https://api.github.com/users/retep998/repos","events_url":"https://api.github.com/users/retep998/events{/privacy}","received_events_url":"https://api.github.com/users/retep998/received_events","type":"User","site_admin":false},"created_at":"2015-01-15T22:15:07Z","updated_at":"2015-01-15T22:15:07Z","body":">Whoa! I did not know this! Do you have some examples of APIs? I was thinking we would forbid interior nuls for OsStr to prevent silent data truncation by accident, but this means we should take a step like that very lightly!\r\n\r\nLook at something simple like `WriteConsoleW` which takes a buffer of text to write and a length. Or perhaps `ExtTextOutW`, or `GetTabbedTextExtentW`. How about `LCMapStringEx` or even `IsNormalizedString`? By reading the SAL macros wrapping the parameters to functions you can fairly easily figure out whether to pass a null terminated string or a string + length."}}