Could someone tell me if there are possible memory leaks in the
following code, which is the beginning of a C function?
SCM c_vo_init(SCM args)
{
SCM a, s_winid, s_title, s_wid, s_hgt, s_wwid, s_whgt,
s_minx, s_maxx, s_miny, s_maxy, s_topm, s_rigm, s_botm, s_lefm,
s_bg, s_fg, s_tagmask;
char *title, *bg, *fg;
#ifdef DO_ASSERT
SCM_ASSERT(scm_eq_p(scm_length(args), SCM_MAKINUM(18)), args, SCM_WNA, "vo-init");
#endif
a = SCM_CAR(args); args = SCM_CDR(args);
s_winid = SCM_CAR(args); args = SCM_CDR(args);
s_title = SCM_CAR(args); args = SCM_CDR(args);
s_wid = SCM_CAR(args); args = SCM_CDR(args);
s_hgt = SCM_CAR(args); args = SCM_CDR(args);
s_wwid = SCM_CAR(args); args = SCM_CDR(args);
s_whgt = SCM_CAR(args); args = SCM_CDR(args);
s_minx = SCM_CAR(args); args = SCM_CDR(args);
s_maxx = SCM_CAR(args); args = SCM_CDR(args);
s_miny = SCM_CAR(args); args = SCM_CDR(args);
s_maxy = SCM_CAR(args); args = SCM_CDR(args);
s_topm = SCM_CAR(args); args = SCM_CDR(args);
s_rigm = SCM_CAR(args); args = SCM_CDR(args);
s_botm = SCM_CAR(args); args = SCM_CDR(args);
s_lefm = SCM_CAR(args); args = SCM_CDR(args);
s_bg = SCM_CAR(args); args = SCM_CDR(args);
s_fg = SCM_CAR(args); args = SCM_CDR(args);
s_tagmask = SCM_CAR(args);
...
I tried to use Rational's Purify to identify some memory leaks, but
found out that Purify doesn't work with QuickThreads. Has anyone had a
similar problem and solved it?
Thanks,
Aleks