<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/onboardc/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/onboardc/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 19 Jul 2008 08:10:45 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/onboardc/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>TimSecondsToDateTime problem</title><link>https://sourceforge.net/p/onboardc/bugs/99/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Using OS 4.1 on Palm M130 (in emulator)&lt;br /&gt;
Onboard C version 2.51&lt;/p&gt;
&lt;p&gt;Doing &lt;/p&gt;
&lt;p&gt;DateTimePtr dtP;&lt;/p&gt;
&lt;p&gt;FrmAlert(GetsToHere);&lt;br /&gt;
TimSecondsToDateTime(TimGetSeconds(),dtP);&lt;br /&gt;
FrmAlert(NotGetToHere);&lt;/p&gt;
&lt;p&gt;Nothing fancy as you can see&lt;/p&gt;
&lt;p&gt;Code works on earlier OS versions fine but in OS 4.1&lt;br /&gt;
get emulator message&lt;/p&gt;
&lt;p&gt;"...wrote to memory location 0x002635DC, which is in the&lt;br /&gt;
storage heap. In order to protect the integrity of the user's data such direct access is not allowed. Instead, applications should use special Palm OS functions ..."&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 19 Jul 2008 08:10:45 -0000</pubDate><guid>https://sourceforge.net00a442398652c87a7ebd1f3031aaadf81331dfac</guid></item><item><title>macro expansion bug (infinite loop)</title><link>https://sourceforge.net/p/onboardc/bugs/98/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I wrote this innocuous-looking code...&lt;/p&gt;
&lt;p&gt;UInt32 ref;&lt;br /&gt;
UInt32 time;&lt;br /&gt;
// set ref and time&lt;br /&gt;
AlmSetProcAlarm(MyFunc, ref, time);&lt;/p&gt;
&lt;p&gt;This causes a hang. It turns out it's an infinite loop.&lt;/p&gt;
&lt;p&gt;The problem is that the AlmSetProcAlarm macro uses 'ref' as the second argument. There is a check in the code to handle 'recursive' arguments like this but since I put a space after the comma, this code was foiled.&lt;/p&gt;
&lt;p&gt;I have a work around for this (skip over any white space before doing the recursive check) that seems to work fine (both in POSE and onboard).&lt;/p&gt;
&lt;p&gt;I've put up a binary for testing at the usual location.&lt;br /&gt;
&lt;a href="http://ramsay.webhop.org/OnBoard.zip" rel="nofollow"&gt;http://ramsay.webhop.org/OnBoard.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lincoln Ramsay</dc:creator><pubDate>Tue, 15 Jul 2008 12:00:11 -0000</pubDate><guid>https://sourceforge.net4b63b2ce574b0877abe00f5c17192456a7c60b54</guid></item><item><title>Crash on bad func ptr typedef</title><link>https://sourceforge.net/p/onboardc/bugs/97/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Reported by Gareth on the Yahoo list.&lt;/p&gt;
&lt;p&gt;...&lt;br /&gt;
Basically the line:&lt;/p&gt;
&lt;p&gt;typedef Boolean (FormGadgetHandlerType) (struct FormGadgetType &lt;br /&gt;
*gadgetP, UInt16 cmd, void *paramP);&lt;/p&gt;
&lt;p&gt;was causing the crash. &lt;/p&gt;
&lt;p&gt;I changed it to &lt;/p&gt;
&lt;p&gt;typedef Boolean (FormGadgetHandlerType*) (struct FormGadgetType &lt;br /&gt;
*gadgetP, UInt16 cmd, void *paramP);&lt;/p&gt;
&lt;p&gt;and it compiled fine. It was definitely compile time not runtime.&lt;br /&gt;
...&lt;/p&gt;
&lt;p&gt;My take on this is that this should be a callback declaration but instead of being a function pointer, it's a regular function and this is probably causing havoc. This really shouldn't crash if we can help it.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lincoln Ramsay</dc:creator><pubDate>Tue, 27 May 2008 21:14:11 -0000</pubDate><guid>https://sourceforge.netcfc771077279b29d36ac48450baae547aca95869</guid></item><item><title>OnBoard updates protected and locked resources</title><link>https://sourceforge.net/p/onboardc/bugs/96/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;OnBoard does not remove the app it is building. If the app already exists, a few key resources are removed and then everything is just copied in.&lt;/p&gt;
&lt;p&gt;This has a few problems (eg. can end up with stale crap in the binary that shouldn't be there).&lt;/p&gt;
&lt;p&gt;The most annoying and damaging behaviour though is that apps that are protected and locked seem to be overwritten quite happily by OnBoard. My own app (AttnGrab) now has code specifically designed to detect when this has happend so that the device can be reset (it's the only way to avoid a potentially damaging crash).&lt;/p&gt;
&lt;p&gt;Firstly, I think that OnBoard should completely remove an app before it creates it. This should not be a Launcher-style delete (that's covered by &amp;lt;a href="https://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=922486&amp;amp;group_id=55794&amp;amp;atid=500573"&amp;gt;this task&amp;lt;/a&amp;gt;) but a Filez-style delete.&lt;/p&gt;
&lt;p&gt;To prevent the problems I've seen with my app, OnBoard should first see if the app is protected and issue a delete signal as the Launcher does (so that the app can de-register any alarms and notifications and unlock resources). Once the app is no longer protected, the compile can go ahead (it should abort or prompt the user if it the app does not become unprotected).&lt;/p&gt;
&lt;p&gt;For bonus points, OnBoard could check to ensure that there are no more alarms/notifications for the app (especially proc-based ones) or locked resources. Clearly though, there's a limit to how much good this will do. If your app doesn't clean up when you get a delete signal, you're screwed when you delete via the launcher anyway.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lincoln Ramsay</dc:creator><pubDate>Wed, 14 May 2008 14:29:28 -0000</pubDate><guid>https://sourceforge.net2e8614574abd8b7d11a69e5e8a07c4b43fc823e8</guid></item><item><title>sizeof() bug</title><link>https://sourceforge.net/p/onboardc/bugs/95/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;typedef struct {&lt;br /&gt;
UInt32 P[18];&lt;br /&gt;
UInt32 fieldInfo;&lt;br /&gt;
UInt32 S[4][256];&lt;br /&gt;
} bf_ctx;&lt;/p&gt;
&lt;p&gt;sizeof(bf_ctx) returns -1 instead of 4172.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 20 Feb 2007 17:12:33 -0000</pubDate><guid>https://sourceforge.net2777951f2303cc918e1a3b65191204ba34545da0</guid></item><item><title>Float problem</title><link>https://sourceforge.net/p/onboardc/bugs/94/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;float fkNumber = 123.45;&lt;br /&gt;
Char str[40];&lt;/p&gt;
&lt;p&gt;StrIToA(str, (Int32) flNumber);&lt;/p&gt;
&lt;p&gt;// the .45 appears to be lost in flNumber after the above stmt.  ie flNumber now is 123.0&lt;/p&gt;
&lt;p&gt;// am I missing something?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 21 Dec 2006 15:30:31 -0000</pubDate><guid>https://sourceforge.net8d32cd527f95490bae4cc76a8ddef826dcd701c6</guid></item><item><title>Arrays of function pointers not supported</title><link>https://sourceforge.net/p/onboardc/bugs/93/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;--- In OnBoardC@yahoogroups.com, Sébastien MARQUE &lt;br /&gt;
&amp;lt;seb.marque@...&amp;gt; wrote:&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; but one day I tried to create arrays of functions &lt;br /&gt;
pointers. with no &lt;br /&gt;
&amp;gt; success, I just did it again to give here the error &lt;br /&gt;
messages I get: the &lt;br /&gt;
&amp;gt; parser says nothing, but when assembling it says &lt;br /&gt;
something like &lt;br /&gt;
&amp;gt; "undefined global data label xyz" where xyz is &lt;br /&gt;
garbage, and then "global &lt;br /&gt;
&amp;gt; fixup to unknown datal label", and then "output &lt;br /&gt;
incomplete"&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; here's my try:&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt;    typedef Boolean (*ptrfunctype)(FormPtr);&lt;br /&gt;
&amp;gt;    ptrfunctype ptrfunc[3] = {&lt;br /&gt;
&amp;gt;        funcA,&lt;br /&gt;
&amp;gt;        funcB,&lt;br /&gt;
&amp;gt;        funcC&lt;br /&gt;
&amp;gt;    };&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt;    Boolean funcA (FormPtr pForm) {&lt;br /&gt;
&amp;gt;    ...&lt;br /&gt;
&amp;gt;        return true;&lt;br /&gt;
&amp;gt;    }&lt;br /&gt;
&amp;gt;    Boolean funcB (FormPtr pForm) {&lt;br /&gt;
&amp;gt;    ...&lt;br /&gt;
&amp;gt;        return true;&lt;br /&gt;
&amp;gt;    }&lt;br /&gt;
&amp;gt;    Boolean funcC (FormPtr pForm) {&lt;br /&gt;
&amp;gt;    ...&lt;br /&gt;
&amp;gt;        return true;&lt;br /&gt;
&amp;gt;    }&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt;    Boolean SomeThing (UInt16 style, FormPtr &lt;br /&gt;
pForm) {&lt;br /&gt;
&amp;gt;    ...&lt;br /&gt;
&amp;gt;        // possible style values: 0, 1, 2&lt;br /&gt;
&amp;gt;        return (ptrfunc[style])(pForm);&lt;br /&gt;
&amp;gt;    }&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; sure there is a error and it is possible to do, I've &lt;br /&gt;
tried different &lt;br /&gt;
&amp;gt; ways with pointers to function but after a while I &lt;br /&gt;
decided to abandon &lt;br /&gt;
&amp;gt; and choose an other way to do my stuff ;)&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; seb&lt;br /&gt;
&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steve Little</dc:creator><pubDate>Thu, 05 Oct 2006 16:41:04 -0000</pubDate><guid>https://sourceforge.netaa31de57f83703d4886e73a6e45c43fb24acea31</guid></item><item><title>Static array initializer wrong</title><link>https://sourceforge.net/p/onboardc/bugs/92/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When initializing a 2D array will incomplete lists, &lt;br /&gt;
the next list is loaded in the wrong spot.&lt;/p&gt;
&lt;p&gt;&amp;lt;PRE&amp;gt;&lt;br /&gt;
Uint16 array2D[10]10] =&lt;br /&gt;
{&lt;br /&gt;
{1,2,3,4},&lt;br /&gt;
{5,6,7,8},&lt;br /&gt;
{9,0}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/p&gt;
&lt;p&gt;should load the array to be:&lt;br /&gt;
1 2 3 4 0 0 0 0 0 0&lt;br /&gt;
5 6 7 8 0 0 0 0 0 0&lt;br /&gt;
9 0 0 0 0 0 0 0 0 0&lt;br /&gt;
0 0 0 0 0 0 0 0 0 0&lt;br /&gt;
...&lt;/p&gt;
&lt;p&gt;but instead loads it thusly:&lt;br /&gt;
1 2 3 4 5 6 7 8 9 0&lt;br /&gt;
0 0 0 0 0 0 0 0 0 0&lt;br /&gt;
...&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jerramy Gipson</dc:creator><pubDate>Mon, 25 Sep 2006 15:01:26 -0000</pubDate><guid>https://sourceforge.net060d4b280e51838e0159a6d5b29ad5b95159596f</guid></item><item><title>Pointer Math (?)</title><link>https://sourceforge.net/p/onboardc/bugs/91/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Please improve the Summary if someone has a better&lt;br /&gt;
understanding of this.&lt;/p&gt;
&lt;p&gt;I have the following function. It will not compile.&lt;br /&gt;
This is not cut-and-pasted so please email me if you're&lt;br /&gt;
working on this bug and want help.&lt;/p&gt;
&lt;p&gt;Boolean foo(const UTF8 *source, const UTF8 *sourceEnd) {&lt;br /&gt;
int length = bar[*source]+1;&lt;br /&gt;
if (source + length &amp;gt; sourceEnd) {&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
return true;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;The error occurs on the source+length line. If I change&lt;br /&gt;
it to the following it does compile. I have yet to&lt;br /&gt;
completely verify this fix as valid.&lt;/p&gt;
&lt;p&gt;Boolean foo(const UTF8 *source, const UTF8 *sourceEnd) {&lt;br /&gt;
int length = bar[*source]+1;&lt;br /&gt;
UTF8 *spl = source + length;&lt;br /&gt;
if ( spl &amp;gt; sourceEnd ) {&lt;br /&gt;
//if (source + length &amp;gt; sourceEnd) {&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
return true;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;elsewhere: typedef UInt8 UTF8;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ken Mankoff</dc:creator><pubDate>Thu, 07 Sep 2006 00:58:08 -0000</pubDate><guid>https://sourceforge.netaea7dc8fc9d9666ef9137797add8c9d2632f4c90</guid></item><item><title>UL type not recognized</title><link>https://sourceforge.net/p/onboardc/bugs/90/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;static UTF32 offsetsFromUTF8[6] = { 0x00000000UL,&lt;br /&gt;
0x00003080UL, 0x000E2080UL, 0x03C82080UL, 0XFA02080UL,&lt;br /&gt;
0x2082080UL };                  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Produces the following error:&lt;/p&gt;
&lt;p&gt;======================                              &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Unexpected token while                              &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;waiting for a unary                                 &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;expression, line XX                                     &lt;br /&gt;
(OK) (Goto)                                         &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;----------------------                              &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;If "UL" is removed it then compiles.                &lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ken Mankoff</dc:creator><pubDate>Thu, 07 Sep 2006 00:51:54 -0000</pubDate><guid>https://sourceforge.net898077f2d236d841521979af1c06fbd0411691da</guid></item></channel></rss>