handle object not found in places

This commit is contained in:
psyc://psyced.org/~lynX 2009-04-16 11:48:39 +02:00
parent a32a31794e
commit 556e2be6a9
4 changed files with 18 additions and 11 deletions

View File

@ -1376,19 +1376,22 @@ case "_request_execute":
} else {
// see if it is a local object
object o = psyc_object(t);
// object one of our places?
if (o && places[o]) {
place = o;
vSet("place", o->qName());
PT(("REQ-EX object %O\n", o))
if (o) {
// object one of our places?
if (places[o]) {
place = o;
vSet("place", o->qName());
PT(("REQ-EX o'place %O\n", o))
} else {
PT(("REQ-EX object %O\n", o))
}
} else unless (t2) {
// must be a person then
// ME->parsecmd(data, t);
PT(("REQ-EX person %O\n", t))
parsecmd(data, t);
PT(("REQ-EX person %O vs %O\n", t, o))
// should be able to put o||t
// here.. TODO
parsecmd(data, t);
return 0;
}
}

View File

@ -177,8 +177,8 @@ static varargs string psyc_render(mixed source, string mc, mixed data,
data = data? to_string(data): "";
#endif
}
else if (data == S_GLYPH_PACKET_DELIMITER ||
(data[0] == C_GLYPH_PACKET_DELIMITER && data[1] == '\n')
else if (data == S_GLYPH_PACKET_DELIMITER || (strlen(data) > 1 &&
data[0] == C_GLYPH_PACKET_DELIMITER && data[1] == '\n')
|| strstr(data, "\n" S_GLYPH_PACKET_DELIMITER "\n") != -1) {
// this check shouldn't be necessary here: we should check what
// people are typing in usercmd

View File

@ -414,7 +414,8 @@ vamixed parse(string a) {
#ifndef __PIKE__
if (peerip && pongtime + 120 < time()) {
if (same_host(SERVER_HOST, peerip)) {
P1(("why am i talking psyc to myself?\n"))
P1(("Another PSYC node on my IP? Or am I talking to myself? %O\n", ME))
// not ponging to ping then...
} else {
#ifdef PSYC_TCP
P2(("%O sending TCP PONG to %O=%O\n",

View File

@ -615,6 +615,9 @@ case "_jabber_iq_set":
case "_jabber":
P1(("%O got %O", ME, mc))
break;
case "_notice_composing_media":
if (v("scheme") != "psyc") return 1;
break;
case "_message_video":
case "_message_audio":
// not being displayed to users other than psyc clients