repo.or.cz
/
smatch.git
/
search
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
first
·
prev
·
next
constraints: use cmp_relation() instead of custom code in del_related()
2012-12-08
Dan Carpente
r
constraints: use cmp_
r
elation() instead of cu
s
tom
c
od
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-07
Dan Carpenter
conditi
o
n
s
: re
w
or
k
__is_c
o
ndition_ass
i
gn() => is_condition()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-06
Dan Car
p
enter
db: remo
v
e get_retur
n
_i
d
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpenter
p
a
rse_call_ma
t
h: update to
n
e
w
r
eturn_states API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan C
a
rp
e
n
ter
user_d
a
ta: move to the r
e
turn_sta
t
es API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Ca
r
penter
extra: move retu
r
n_value_param to the new
r
eturn_states A
P
I
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
an Carp
e
n
ter
s
t
ates: intro
d
uce ge
t
_all_state_slis
t
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
an Carpenter
db: call return_states at
the end of t
h
e function if
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpenter
d
b: f
i
x return r
a
n
g
es for the return_s
t
ates callbacks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Da
n
C
a
rp
e
nter
db: change print_retu
r
n
e
d_struct_members
(
) to new
A
P
I
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Ca
r
pen
t
er
db: introduce add_returned_state_cal
l
back()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpenter
db:
pass t
h
e re
t
ur
n
_
i
d
to the
struct member callbacks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Da
n
C
a
rpe
n
ter
modification
_
hooks: handle
i
nline a
s
sembly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carp
e
n
ter
inf
o
: derefe
r
ences_param: print the
d
ereferenc
e
s
e
ve
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-03
D
a
n Carp
e
n
ter
db: handle glob
a
l funct
i
o
n
assignments
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-30
Dan Carpenter
extra: i
n
fo: don't pri
n
t empty states
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-29
Dan Carpent
e
r
absolu
t
e: use
get
_
im
p
lied_min() inste
a
d of get
_
i
m
p
lied_value()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-29
Dan Carpenter
extra
:
save more modif
i
ed pointers
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan Carpenter
db
:
change
smdb_return_
i
nfo
.
sh t
o
smdb_return_
v
alue
s
.
sh
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
D
an Car
p
enter
extra: db: record whe
n
p
e
ople modify
po
i
nter
s
p
a
s
sed
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan Carpenter
ext
r
a: mov
e
-
-info hooks
l
a
t
er
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan Carpenter
d
b: move f
r
ee_slist() ins
i
de the l
o
o
p an
d
fix a
memory
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan C
a
r
p
enter
helper
:
intr
o
duce
g
et_param_num_from_sym(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-27
Dan Ca
r
pent
e
r
db: save struct mem
b
er values across returns
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-27
D
an Ca
r
pent
e
r
type: r
e
name get_p
a
ram_type_f
r
om_key() =>
g
et_member_type_
f
r
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan C
a
rpenter
f
low: impl
i
ed: fix how s
w
i
t
ch state
m
ent
s
are hand
l
e
d
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Da
n
Carpenter
generisize
.
pl: re
m
ove u16ma
x
and friends
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan
C
arpente
r
extra: tweak hand
l
i
ng of absol
u
te min/m
a
x
i
n comparisons
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan Car
p
enter
math:
igno
r
e fuzzy maxes that
a
re
t
ype_min
(
) + 1
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan Carpenter
math:
o
verflo
w
implies that there is no f
u
z
zy
max
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Carpe
n
ter
m
ath: overflows in
h
a
rd max are undef
i
ned
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n C
a
rpent
e
r
extra: handle loops where without a hard max that
don
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan C
a
rpenter
extra:
c
lear hard max if we are falling back to the
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Carpente
r
extra: get max correctly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n
C
a
rpenter
e
xtra: set hard
max correc
t
l
y
in loop
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan
Carpenter
ext
r
a: if
(
uns
i
g
n
e
d
>= unsig
n
ed) {:
Always true if
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Car
p
enter
math
:
check for overflows
when calculating the
m
ax
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n Ca
r
penter
con
d
itions: preserve the ty
p
e in select a
s
signmen
t
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan
C
arpenter
t
y
pe: clea
n
p get_member_s
y
mbol()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan
C
arpenter
extra:
ty
p
e
:
get the mem
b
er typ
e
w
h
en loading values
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Carpent
e
r
debug: add __s
m
atch_debug_impli
e
d_on/o
f
f()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n Carpe
n
t
er
debug:
i
ntroduce
l
ocal_debug
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan C
a
rp
e
nter
extra: re
v
e
r
se max(
)
/min(
)
test
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
Dan Carpenter
s
val: h
a
ndl
e
canonical for loops
di
f
ferently
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
D
a
n Car
p
en
t
er
sval: convert
S
HRT_MAX to s16max in the output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
Dan Carpenter
function_hooks: consider th
e
r
eturn type of the
functi
o
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
Dan Car
p
e
n
t
e
r
extra: remove some dupl
i
cate code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carpe
n
ter
math: cha
n
ge how MOD
o
peratio
n
s
a
r
e
h
andled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Da
n
Ca
r
p
e
nter
m
a
t
h
: count some more things as imp
l
ied
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan
Carpenter
extra: type: mo
v
e get
_
arge_typ
e
() to s
m
atch_typ
e
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan C
a
rpenter
extra: m
a
th: move get_im
p
lied_
r
ange_
l
ist() to smatch_m
a
th
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carpenter
sval: extra:
get_impl
i
ed_range_lis
t
() retu
r
n
who
l
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carp
e
nter
scr
i
p
ts: t
r
ace params use 4
space indents con
s
istently
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sv
a
l: math: f
i
x g
e
t_value
(
) f
o
r !foo
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
check_si
z
eof_pointer:
c
om
p
l
a
in
a
bout size
o
f
(&foo
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
hooks
:
ad
d
a
SIZEOF_HOOK
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
s
v
al
:
m
a
ke cast_rl() pres
e
rve
things bett
e
r acr
o
ss
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
D
an Carpenter
sval: type: handle type_bit
s
(
)
for addr
e
sses
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sval
:
type: use
t
ype_bi
t
s(
)
through
out
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan
C
arpenter
sval: fixup
c
alls to sv
a
l
_cmp_val()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Car
p
enter
s
v
a
l
:
t
y
pe: hack select types
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carp
e
nt
e
r
extra: remove deb
u
g
g
in
g
outp
u
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Da
n
Carpente
r
sval
:
add sval_is
_
negative()
/
p
o
sitive()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Da
n
Carpenter
s
val: take the type
i
nto
c
on
s
ider
a
tion
w
hen doing an
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sval:
c
ast th
i
n
g
s
correc
t
ly in sval_cmp()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Bart Van
A
ss
c
he
sval: uninitiali
z
ed varia
b
l
e warning
commit
|
commitdiff
|
tree
2012-11-17
Dan C
a
rpen
t
er
flow: hooks: fix MACRO_
A
S
S
I
GNMENT_
H
O
O
K
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-17
Dan Car
p
ent
e
r
flow:
h
ooks: intro
d
u
ce GLOBAL_A
S
SI
G
NMENT_HOOK
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-17
Dan Carpenter
sval: i
n
t
roduce
sval_bit
s
_used()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan
Carpenter
type: introduc
e
t
ype_
b
its
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan
C
arpen
t
e
r
Merge bra
n
ch '
s
val' in
t
o merge
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carp
e
n
t
er
sval: ranges: se
t
c
o
r
rect max in
c
as
t
_
r
l()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan C
a
r
pent
e
r
sval:
db
:
cast
par
a
m
eters to the correct type befor
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
D
an Carpenter
s
v
al: extra: ha
n
dle as
s
ignments bett
e
r
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpenter
sval: cast
t
he re
t
urn types before entering them into
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpenter
sv
a
l
:
e
x
t
ra: type informati
o
n was
b
ei
n
g l
o
st
in ++
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
D
an Car
p
enter
sval: flip the s
w
itch and don't use s3
2
min-s32max instead
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpent
e
r
sval:
signe
d
:
f
ix val
i
d
a
t
ion t
e
st and
u
pda
t
e for
m
at
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpen
t
er
val
i
dation:
signed: update va
l
i
da
t
ion test to reflect
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Wolfram Sang
M
a
kefile: dro
p
s
uper
f
luous tr
a
ilin
g
'/'
commit
|
commitdiff
|
tree
2012-11-14
Dan Car
p
enter
m
ath:
cleanup some
n
a
m
ing
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Dan
C
arp
e
nter
math: add fuzzy_max a
n
d fuz
z
y_min to implie
d
_oppo
s
ite
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Dan Carp
e
nter
sval: math: fix how
ne
g
a
t
e operation
s
are handled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Dan C
a
rpenter
sval
:
ab
s
olute: fix reversed condition
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
sv
a
l: yo
u
're not allo
w
ed
t
o divi
d
e
LLONG_MI
N
b
y -1
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
D
an Car
p
enter
sv
a
l
:
fix
p
arse_value_ranges_type()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan
Car
p
enter
sval:
r
e-intro
d
uce
sval_is_a_min()
s
val_is_a_max(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpe
n
ter
sv
a
l: do
n
't i
n
ven
t
bogus rang
e
in alloc_range_h
e
l
p
er_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Ca
r
penter
sval: use typed versi
o
n of
parse_
v
alue_ranges(
)
throughout
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
D
a
n
C
ar
p
e
nter
sval: move ca
s
t_
r
l() into parse_value_ranges_type()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan
C
arpenter
cleanup: make type the first argu
m
en
t
of s
v
al_
c
ast()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
cleanup: ma
t
h
: rename a vari
a
ble from
"tmp_ret" to
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Ca
r
penter
cleanup: mak
e
t
y
pe the f
i
r
s
t argument for cast_rl()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan C
a
rpenter
cleanup: rename
p
ossibly_fa
l
se_range_lists
_
rl() to
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
cleanu
p
:
rename get_v
a
lu
e
_ranges() to parse_v
a
l
ue
_
ranges()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
D
a
n Carpenter
sv
a
l:
remove the _sval() from al
l
oc_es
t
ate_ran
g
e_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan
C
a
r
penter
s
va
l
:
re
m
ove the
_
sv
a
l() from ta
c
k_on_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpente
r
sval: remove
the
_
s
val() from a
l
loc_range_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
sva
l
:
remove th
e
_
s
val() from true/fal
s
e_c
o
mparison_range_lr
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpent
e
r
sval:
r
emove the _sval
(
) from estate
_
get_
s
in
g
le_value_
s
val()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next