Payable Aging Report Totals column produces error

warlord at MIT.EDU warlord at MIT.EDU
Mon Jun 23 23:09:42 EDT 2008


I don't like changing people's input out from under them.
You'd have to perform the same parsing as strftime(), because
you'd need to make sure that you DO NOT change %%e to %%#d,
so you can't just blindly look for %e.  Also, adding the new
character requires a memory change and shift.  Uggh.

IMHO, if someone changes the default then they can cause lots of
damage.  If that happens to be a crash, well..  They should know
better.  I suspect there are lots of other ways people can cause
the report to crash, which is fine so long as the application
doesn't crash too.

So, no, I dont like this approach.

Sorry,

-derek

Quoting Charles Day <cedayiv at gmail.com>:

> How about a slightly different approach: define a C function called
> gnc_strftime() that substitutes %#d for %e if G_OS_WIN32 is defined. Then
> make all the reports call gnc-strftime instead of strftime. What do you
> think? Seems safer, since the user may manually change the setting and could
> type in %e at any time, resulting in a crash.
>
> -Charles
>
>
> On Wed, Jun 11, 2008 at 9:57 AM, Derek Atkins <warlord at mit.edu> wrote:
>
>> Quoting Charles Day <cedayiv at gmail.com>:
>>
>>  On Wed, Jun 11, 2008 at 9:29 AM, Derek Atkins <warlord at mit.edu> wrote:
>>>
>>>  Charles,
>>>> What we really need here is the following C Code:
>>>>
>>>> const char* gnc_default_strftime_date_format =
>>>> #ifdef G_OS_WIN32
>>>>  N_("%B %#d, %Y")
>>>> #else
>>>>  N_("%B %e, %Y")
>>>> #endif
>>>>  ;
>>>>
>>>>
>>> What C file does this belong in?
>>>
>>
>> I don't know.  Something core.  maybe qof-date.c?
>>
>>  Then we need to export gnc_default_strftime_format into Scheme and
>>>> use that exported string in the option generator as the default
>>>> option value.
>>>>
>>>>
>>> I think you've lost me here a little... could you make this change, or
>>> explain the option generator bit in a little more detail?
>>>
>>
>> Okay, there are two things that need to happen from the scheme side:
>>
>> 1) we need to export gnc_default_strftime_format.  This would mean
>> swigifying
>>  the C symbol and exporting it to the Scheme environment.  Let's say the
>>  scheme variable is gnc-default-strftime-format.
>> 2) We need to go through every report and replace "%B %e, %Y" with
>>  (_ gnc-default-strftime-format) in all the report option generators.
>>
>> I was sorta hoping I could convince you to make these changes ;)
>>
>>  But I guess you can't test since you are not using Windows... I at least
>>> can
>>> do that part if you tell me which report I need to run. However, bear in
>>> mind that I don't have any business data to work with.
>>>
>>
>> No, I cannot test this on windows.
>>
>>  At least we will have Scheme backtraces logged now. Should make report
>>> debugging a bit easier starting with 2.2.6. :)
>>>
>>
>> Yes indeed!   Thanks!
>>
>>
>>  -Charles
>>>
>>
>> -derek
>>
>> --
>>      Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>>      Member, MIT Student Information Processing Board  (SIPB)
>>      URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
>>      warlord at MIT.EDU                        PGP key available
>>
>>
>




More information about the gnucash-user mailing list