add_member(): Rueckgabewerte geaendert.
Der Rueckgabewert von add_member() wurde geaendert, damit
er mehr der normalen Konvention entspricht, dass 1 fuer
Erfolg steht und < 0 fuer Misserfolg.
Change-Id: Ic6396119195ec96088869e21302497f84f3f9a95
diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index 25a0a7a..50602ea 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -547,13 +547,14 @@
}
// Low-level function for adding members without access checks
+// return values < 0 are errors, success is 1.
private int add_member(struct channel_s ch, object m)
{
if (IsChannelMember(ch, m))
return E_ALREADY_JOINED;
ch.members += ({ m });
- return 0;
+ return 1;
}
private void remove_all_members(struct channel_s ch)
@@ -918,7 +919,11 @@
if (!funcall(#'access, ch, pl, C_JOIN))
return E_ACCESS_DENIED;
- return add_member(ch, pl);
+ int res = add_member(ch, pl);
+ if (res != 1)
+ return res;
+
+ return 0;
}
// Objekt <pl> verlaesst Ebene <ch>.