<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: nsresult analysis</title>
	<atom:link href="http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/</link>
	<description>Just another Blog.mozilla.com weblog</description>
	<lastBuildDate>Sun, 12 Feb 2012 07:38:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Noel Grandin</title>
		<link>http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/comment-page-1/#comment-22109</link>
		<dc:creator>Noel Grandin</dc:creator>
		<pubDate>Wed, 01 Apr 2009 09:18:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/?p=119#comment-22109</guid>
		<description>One way to build the lattice would be to initially define all typedefs as being incompatible, and then slowly adding permitted rules until a decent ruleset has been built.
i.e. &quot;not allowed unless permitted&quot;.

That would also make catching new problems at lot easier, because they&#039;d immediately show up when new typedefs were added.

But as Joshua noted, this would need an awful lot of cleanup work to be really effective.
But that cleanup work would probably be worthwhile in it&#039;s own right, even if rather tedious.</description>
		<content:encoded><![CDATA[<p>One way to build the lattice would be to initially define all typedefs as being incompatible, and then slowly adding permitted rules until a decent ruleset has been built.<br />
i.e. &#8220;not allowed unless permitted&#8221;.</p>
<p>That would also make catching new problems at lot easier, because they&#8217;d immediately show up when new typedefs were added.</p>
<p>But as Joshua noted, this would need an awful lot of cleanup work to be really effective.<br />
But that cleanup work would probably be worthwhile in it&#8217;s own right, even if rather tedious.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Walden</title>
		<link>http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/comment-page-1/#comment-22103</link>
		<dc:creator>Jeff Walden</dc:creator>
		<pubDate>Wed, 01 Apr 2009 04:54:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/?p=119#comment-22103</guid>
		<description>Layout hackers might note the common-typing of so-called appunits and CSS pixels, which are currently the same integer type and which at times have been used without conversions one way or the other.  Note also that these units may eventually be changed to floats (to get auto-saturating behavior when over- and underflows occur), so you&#039;d have to be prepared for that possibility.</description>
		<content:encoded><![CDATA[<p>Layout hackers might note the common-typing of so-called appunits and CSS pixels, which are currently the same integer type and which at times have been used without conversions one way or the other.  Note also that these units may eventually be changed to floats (to get auto-saturating behavior when over- and underflows occur), so you&#8217;d have to be prepared for that possibility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Cranmer</title>
		<link>http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/comment-page-1/#comment-22097</link>
		<dc:creator>Joshua Cranmer</dc:creator>
		<pubDate>Wed, 01 Apr 2009 01:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/?p=119#comment-22097</guid>
		<description>One of the crufty old files I&#039;ve had to deal with loves to mix PRInt32 and nsresult together.

Another thing that would be cool--if difficult--would be to have C++ analysis that could warn if you passing something bad to a pseudo-enum for IDL code, like:
&lt;a href=&quot;http://mxr.mozilla.org/comm-central/source/mailnews/base/search/public/nsMsgSearchCore.idl&quot; rel=&quot;nofollow&quot;&gt;mailnews&#039;s nsMsgSearchCore values&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>One of the crufty old files I&#8217;ve had to deal with loves to mix PRInt32 and nsresult together.</p>
<p>Another thing that would be cool&#8211;if difficult&#8211;would be to have C++ analysis that could warn if you passing something bad to a pseudo-enum for IDL code, like:<br />
<a href="http://mxr.mozilla.org/comm-central/source/mailnews/base/search/public/nsMsgSearchCore.idl" rel="nofollow">mailnews&#8217;s nsMsgSearchCore values</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Wilsher</title>
		<link>http://blog.mozilla.com/tglek/2009/03/31/nsresult-analysis/comment-page-1/#comment-22094</link>
		<dc:creator>Shawn Wilsher</dc:creator>
		<pubDate>Tue, 31 Mar 2009 23:46:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/?p=119#comment-22094</guid>
		<description>I know I&#039;ve caught myself using NS_ENSURE_SUCCESS, and returning a PRBool for an nsresult before.  Wasn&#039;t caught in review either, but I caught it before checkin.</description>
		<content:encoded><![CDATA[<p>I know I&#8217;ve caught myself using NS_ENSURE_SUCCESS, and returning a PRBool for an nsresult before.  Wasn&#8217;t caught in review either, but I caught it before checkin.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

