> From: l...@gnu.org (Ludovic Courtès) > Cc: guile-devel@gnu.org > Date: Wed, 02 Jul 2014 23:04:38 +0200 > > > static SCM > > cpu_set_to_bitvector (const cpu_set_t *cs) > > { > > SCM bv; > > size_t cpu; > > > > bv = scm_c_make_bitvector (sizeof (*cs), SCM_BOOL_F); > > > > for (cpu = 0; cpu < sizeof (*cs); cpu++) > > { > > if (CPU_ISSET (cpu, cs)) > > /* XXX: This is inefficient but avoids code duplication. */ > > scm_c_bitvector_set_x (bv, cpu, SCM_BOOL_T); > > } > > > > I think using 'sizeof (*cs)' is incorrect here, we need to use > > CPU_SETSIZE instead. The cpu_set_t data type could be an array of bit > > masks, in which case counting only bytes in it is wrong: the result is > > too small. > > Indeed, good catch. Could you commit the obvious fix?
Done.