mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 14:21:10 +02:00
* The reference count in scm_unprotect_object is always positive.
This commit is contained in:
parent
3243bcc0c7
commit
6a19994066
2 changed files with 13 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2000-06-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
|
* gc.c (scm_unprotect_object): The reference count is guaranteed
|
||||||
|
to be a positive number.
|
||||||
|
|
||||||
2000-06-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
2000-06-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||||
|
|
||||||
* eval.c: Updated comment above scm_map.
|
* eval.c: Updated comment above scm_map.
|
||||||
|
|
|
@ -2173,14 +2173,14 @@ scm_unprotect_object (SCM obj)
|
||||||
fprintf (stderr, "scm_unprotect_object called on unprotected object\n");
|
fprintf (stderr, "scm_unprotect_object called on unprotected object\n");
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
int count = SCM_INUM (SCM_CDR (handle)) - 1;
|
unsigned long int count = SCM_INUM (SCM_CDR (handle)) - 1;
|
||||||
if (count <= 0)
|
if (count == 0)
|
||||||
scm_hashq_remove_x (scm_protects, obj);
|
scm_hashq_remove_x (scm_protects, obj);
|
||||||
else
|
else
|
||||||
SCM_SETCDR (handle, SCM_MAKINUM (count));
|
SCM_SETCDR (handle, SCM_MAKINUM (count));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM_REALLOW_INTS;
|
SCM_REALLOW_INTS;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue