<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 200: New plugin header files: PluginAPI.h / PluginUtil.h</title><link>https://sourceforge.net/p/nsis/patches/200/</link><description>Recent changes to 200: New plugin header files: PluginAPI.h / PluginUtil.h</description><atom:link href="https://sourceforge.net/p/nsis/patches/200/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 29 Nov 2008 22:01:22 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/nsis/patches/200/feed.rss" rel="self" type="application/rss+xml"/><item><title>New plugin header files: PluginAPI.h / PluginUtil.h</title><link>https://sourceforge.net/p/nsis/patches/200/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The point of this patch is to allow makensis and the plugins use the same header for common structures.&lt;br /&gt;
It also treats exdll.* as more of a example plugin, and all defines except the legacy exdll helper functions are moved to the new header.&lt;/p&gt;
&lt;p&gt;Almost all plugins still include exdll.h, except nsDialogs and Math, they use the new PluginUtil.h directly because:&lt;br /&gt;
*nsDialogs: has special handling in its popstring (can pop less than g_stringsize when it wants)&lt;br /&gt;
*Math: has Math_INIT instead of EXDLL_INIT, etc.&lt;/p&gt;
&lt;p&gt;The only plugin that does not use PluginUtil.h in any way is system.dll, it uses the new PluginAPI.h for basic types, &lt;br /&gt;
but has custom handling for its stack and vars handling (its version of getuservariable will allocate a new string and it does ugly stuff like "GlobalFree((HANDLE)pushstring(getuservariable(*(cmd++)-'0')))") &lt;/p&gt;
&lt;p&gt;Some plugins (BgImage,InstallOptions,UserInfo,etc) manipulate "internal" globals like g_stacktop directly, I did not &lt;br /&gt;
try to change this, but at some point it should probably addressed so that PluginUtil.h is used instead of exdll.h&lt;/p&gt;
&lt;p&gt;The patch was already uploaded as part of another patch and can be found @ &lt;a href="http://sourceforge.net/tracker2/index.php?func=detail&amp;amp;aid=1912699&amp;amp;group_id=22049&amp;amp;atid=373087"&gt;http://sourceforge.net/tracker2/index.php?func=detail&amp;amp;aid=1912699&amp;amp;group_id=22049&amp;amp;atid=373087&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anders</dc:creator><pubDate>Sat, 29 Nov 2008 22:01:22 -0000</pubDate><guid isPermaLink="false">https://sourceforge.nete95ed71aea65730902e80f6d4a8881ca360c6cd3</guid></item></channel></rss>