<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://www.bytemycode.com/rssformat.xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>byteMyCode: Snippets for URI</title>
		<link>http://www.bytemycode.com</link>
		<description>Snippets for this tag.</description>
		<pubDate>Fri, 29 Aug 2008 13:27:10 +0000</pubDate>
		<copyright>1998-2008 </copyright>
		<language>en-us</language>
		<image>
		      <link>http://www.bytemycode.com</link>
		      <url>http://www.bytemycode.com/img/rss_title.gif</url>
		      <title>byteMyCode</title>
		</image>

	<item>
	<title>URL Unescaping in C</title>
	<link>http://www.bytemycode.com/snippets/snippet/398/</link>
	<comments>http://www.bytemycode.com/snippets/snippet/398/comments/</comments>
	<pubDate>Tue, 26 Sep 2006 12:56:53 +0000</pubDate>
	<dc:creator>sehrgut</dc:creator>
	<category>C, CGI, escape, URI, URL</category>
	<guid isPermaLink="false">http://www.bytemycode.com/snippets/snippet/398/</guid>
	<description>
		<![CDATA[

			<img src="http://www.bytemycode.com/img/icon_calendar.gif" align="middle" class="icon" alt="Date Submitted" /> Tue. Sep. 26th, 2006  12:56 PM			<br />
			<img src="http://www.bytemycode.com/img/icon_revision.gif" align="middle" class="icon" alt="Revision" /> <a href="http://www.bytemycode.com/snippets/snippet/398/revisions/">1</a>
			<br />
			<img src="http://www.bytemycode.com/img/rank_scripter.gif" align="middle" class="icon" alt="Scripter" /> <a href="http://www.bytemycode.com/members/member/sehrgut/" title="Scripter">sehrgut</a>
			<br />
			<img src="http://www.bytemycode.com/img/icon_tag.gif" align="middle" class="icon" alt="Tags" /> <a href="http://www.bytemycode.com/tags/tag/C">C</a>&nbsp;|&nbsp;<a href="http://www.bytemycode.com/tags/tag/CGI">CGI</a>&nbsp;|&nbsp;<a href="http://www.bytemycode.com/tags/tag/escape">escape</a>&nbsp;|&nbsp;<a href="http://www.bytemycode.com/tags/tag/URI">URI</a>&nbsp;|&nbsp;<a href="http://www.bytemycode.com/tags/tag/URL">URL</a>			<br />
			<img src="http://www.bytemycode.com/img/icon_comments.gif" align="middle" class="icon" alt="Comments" /> <a href="http://www.bytemycode.com/snippets/snippet/398/comments/">0 comments</a>
			<br />
			<img src="http://www.bytemycode.com/img/icon_ranking.gif" align="middle" class="icon" alt="Ranking" /> 6
			<p>Another pull from my growing-towards-beta CGI library: sgcgi_url_unescape().<br /><br />Note the use strcpy, which is faster than the equivalent memmove()ing. To ensure 64-bit safety, I plan to rename this function and then conditionally compile it to point to either strcpy or a 64-bit-safe memmove() implementation of strcpy.<br /><br />However, even though copy order isn't guaranteed for strcpy, on 16-bit and 32-bit systems, all known implementations copy byte-by-byte from lower addresses to higher addresses. Some 64-bit optimized compilers may copy 8-byte chunks, making the assumption of full linearity unstable at best.<br /><br />I know it sounds like I'm justifying use of nonstandard code for convenience . . . *blush* . . . it's just something that putting in a -DPEDANTIC type of preprocessor flag could fix if broken, and its SO much faster!</p>
		]]>
	</description>
</item>
	</channel>
</rss>