mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Fixed bug in get_logbook_hierarchy()
SVN revision: 665
This commit is contained in:
parent
7f35424dba
commit
78cbcc39fc
46
src/elogd.c
46
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.183 2004/01/13 10:09:05 midas
|
||||||
|
Fixed bug in get_logbook_hierarchy()
|
||||||
|
|
||||||
Revision 1.182 2004/01/13 09:37:01 midas
|
Revision 1.182 2004/01/13 09:37:01 midas
|
||||||
Admin users can edit [global <top>] section
|
Admin users can edit [global <top>] section
|
||||||
|
|
||||||
@ -433,6 +436,7 @@ LBLIST get_logbook_hierarchy(void);
|
|||||||
int is_logbook_in_group(LBLIST pgrp, char *logbook);
|
int is_logbook_in_group(LBLIST pgrp, char *logbook);
|
||||||
void free_logbook_hierarchy(LBLIST root);
|
void free_logbook_hierarchy(LBLIST root);
|
||||||
void show_top_text(LOGBOOK *lbs);
|
void show_top_text(LOGBOOK *lbs);
|
||||||
|
void show_bottom_text(LOGBOOK *lbs);
|
||||||
|
|
||||||
/*---- Funcions from the MIDAS library -----------------------------*/
|
/*---- Funcions from the MIDAS library -----------------------------*/
|
||||||
|
|
||||||
@ -4528,27 +4532,29 @@ LBLIST get_logbook_hierarchy(void)
|
|||||||
|
|
||||||
/* populate nodes with logbooks or other groups */
|
/* populate nodes with logbooks or other groups */
|
||||||
for (i = 0; i < root->n_members; i++)
|
for (i = 0; i < root->n_members; i++)
|
||||||
for (j = 0; j < root->member[i]->n_members; j++) {
|
if (root->member[i]) {
|
||||||
/* check if node is valid logbook */
|
for (j = 0; j < root->member[i]->n_members; j++) {
|
||||||
for (k = 0; lb_list[k].name[0]; k++)
|
/* check if node is valid logbook */
|
||||||
if (equal_ustring(root->member[i]->member[j]->name, lb_list[k].name))
|
for (k = 0; lb_list[k].name[0]; k++)
|
||||||
break;
|
if (equal_ustring(root->member[i]->member[j]->name, lb_list[k].name))
|
||||||
|
|
||||||
/* check if node is subgroup of other node */
|
|
||||||
if (!lb_list[k].name[0]) {
|
|
||||||
for (k = 0; k < root->n_members; k++)
|
|
||||||
if (equal_ustring(root->member[i]->member[j]->name, root->member[k]->name)) {
|
|
||||||
|
|
||||||
/* node is allocated twice, so free one... */
|
|
||||||
free(root->member[i]->member[j]);
|
|
||||||
|
|
||||||
/* ... and reference the other */
|
|
||||||
root->member[i]->member[j] = root->member[k];
|
|
||||||
|
|
||||||
/* mark original pointer invalid */
|
|
||||||
root->member[k] = NULL;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
/* check if node is subgroup of other node */
|
||||||
|
if (!lb_list[k].name[0]) {
|
||||||
|
for (k = 0; k < root->n_members; k++)
|
||||||
|
if (equal_ustring(root->member[i]->member[j]->name, root->member[k]->name)) {
|
||||||
|
|
||||||
|
/* node is allocated twice, so free one... */
|
||||||
|
free(root->member[i]->member[j]);
|
||||||
|
|
||||||
|
/* ... and reference the other */
|
||||||
|
root->member[i]->member[j] = root->member[k];
|
||||||
|
|
||||||
|
/* mark original pointer invalid */
|
||||||
|
root->member[k] = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user