Software /
code /
prosody
Annotate
tools/linedebug.lua @ 12100:0b14b541fd27
mod_roster: pass correct username to roster-item-removed
The other invocations use it that way, and the only listener in trunk
which uses it (in mod_presence) expects it that way.
Passing the username of the JID from the removed entry causes incorrect
unavailable presence stanzas to be sent, allegedly kicking people off
MUCs.
Fixes #1121.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Wed, 22 Dec 2021 13:06:32 +0100 |
parent | 11193:5850d24a4ad3 |
rev | line source |
---|---|
11193
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local data = {} |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local getinfo = debug.getinfo; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local function linehook(ev, li) |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local S = getinfo(2, "S"); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 if S and S.source and S.source:match"^@" then |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local file = S.source:sub(2); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local lines = data[file]; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 if not lines then |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 lines = {}; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 data[file] = lines; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 for line in io.lines(file) do |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 lines[#lines+1] = line; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n"); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 debug.sethook(linehook, "l"); |