Quoting Chris Shoemaker <[EMAIL PROTECTED]>:

There's something a bit strange here, too.  We have in
gnc_plugin_page_report_recreate_page():

       option_string = g_key_file_get_string(key_file, group_name,
                                             SCHEME_OPTIONS, &error);
       if (error) {
         g_warning("error reading group %s key %s: %s",
                   group_name, SCHEME_OPTIONS, error->message);
         LEAVE("bad value");
         return NULL;
       }
       scm_id = scm_c_eval_string(option_string);
       if (!scm_integer_p(scm_id)) {
         g_free(option_string);
         LEAVE("report id not an integer");
         return NULL;
       }

       report_id = scm_num2int(scm_id, SCM_ARG1, __FUNCTION__);


Now, since the option string I created evaluates to #f, you'd _really_
think this would trigger the "report id not an integer" error path.

But, no.  Instead:
ERROR: In procedure gnc_plugin_page_report_recreate_page:
ERROR: Wrong type argument in position 1: #f

I wonder if that's happening in scm_integer_p() or in scm_num2int()?
I suspect the latter, but I'm not sure.  You might need to just compare
against SCM_BOOL_F first..

And a clean crash.  Not very nice.  :(

No, it's not.  :(

-chris

-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
      [EMAIL PROTECTED]                        PGP key available

_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to