mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-12 19:33:03 +00:00
Fixed bug in xrealloc when deleting last entry
SVN revision: 1100
This commit is contained in:
parent
fabaef1212
commit
cce1b3a591
10
src/elogd.c
10
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.491 2004/10/11 19:34:52 midas
|
||||||
|
Fixed bug in xrealloc when deleting last entry
|
||||||
|
|
||||||
Revision 1.490 2004/09/29 03:27:45 midas
|
Revision 1.490 2004/09/29 03:27:45 midas
|
||||||
Added error display if disk is full
|
Added error display if disk is full
|
||||||
|
|
||||||
@ -4721,11 +4724,12 @@ INT el_delete_message(LOGBOOK * lbs, int message_id,
|
|||||||
/* remove message from index */
|
/* remove message from index */
|
||||||
strcpy(str, lbs->el_index[index].file_name);
|
strcpy(str, lbs->el_index[index].file_name);
|
||||||
old_offset = lbs->el_index[index].offset;
|
old_offset = lbs->el_index[index].offset;
|
||||||
for (i = index; i < *lbs->n_el_index - 1; i++) {
|
for (i = index; i < *lbs->n_el_index - 1; i++)
|
||||||
memcpy(&lbs->el_index[i], &lbs->el_index[i + 1], sizeof(EL_INDEX));
|
memcpy(&lbs->el_index[i], &lbs->el_index[i + 1], sizeof(EL_INDEX));
|
||||||
}
|
|
||||||
(*lbs->n_el_index)--;
|
(*lbs->n_el_index)--;
|
||||||
lbs->el_index = xrealloc(lbs->el_index, sizeof(EL_INDEX) * (*lbs->n_el_index));
|
if (*lbs->n_el_index > 0)
|
||||||
|
lbs->el_index = xrealloc(lbs->el_index, sizeof(EL_INDEX) * (*lbs->n_el_index));
|
||||||
|
|
||||||
/* correct all offsets after deleted message */
|
/* correct all offsets after deleted message */
|
||||||
for (i = 0; i < *lbs->n_el_index; i++)
|
for (i = 0; i < *lbs->n_el_index; i++)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user