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
validation: remove sm_redundant_check.c because we don't warn about this
2014-10-03
Dan Ca
r
penter
Merge
g
it://g
i
t
.
kernel
.
org/pub/scm/devel/sparse/chrisl
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-10-02
Dan Carpent
e
r
smdb
.
p
y
: add som
e
h
elp text
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-10-02
Dan Carpenter
b
u
ild_kerne
l
_data
.
s
h
: er
r
or out if the right p
a
ckages
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-29
Dan Carpen
t
er
comparison
:
don't store
comp
a
risons to one's self
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-29
D
a
n
Carpenter
c
omparison: a
d
d
a c
o
mment for update
_
tf_links
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-29
Dan
C
arpenter
c
omparis
o
n: get rid of th
e
chun
k
_vsl
_
eq()
f
u
n
ction
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-29
Dan
C
arpent
e
r
c
ompa
r
iso
n
:
pass the fi
l
tered false state
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-29
D
an Carpent
e
r
c
o
m
p
arison:
cleanup update_tf_data()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-27
D
a
n Carpenter
db:
f
i
x h
a
n
d
l
i
ng of nested calls
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Carpenter
states: add an assert
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Carpenter
buf_si
z
e: handle
s
trlen() a bit
b
ett
e
r
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Carpenter
locking: add ffs_m
u
tex_lock
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Ca
r
p
enter
flo
w
: the
__in_pre_con
d
ition v
a
riabl
e
ne
e
ds to be set
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
an Carpenter
smatch
.
h:
store so
m
e
dummy database types t
e
mporarily
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Da
n
Ca
r
pente
r
d
b
: expo
s
e
the
d
ata
p
aramet
e
r so we can
u
se
d
a
ta in
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan
C
arpe
n
te
r
parse
_
cal
l
_math:
change API to use range lists (mostl
y
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Carpent
e
r
ra
n
ges: fix p
a
rsing that
I
bro
k
e thi
s
afternoon
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan
C
a
r
p
enter
comparison: f
i
x up filt
e
r_comparison()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
a
n
C
arp
e
nt
e
r
ranges: use th
e
rang
e
s
store
d
in the
datab
a
se properly
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan
Carpente
r
ranges
:
fix crashing bug
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
a
n
C
ar
p
enter
ranges: simplify and
robustify str_to_rl_h
e
l
per(
)
a
b
i
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
Dan Carp
e
nter
param_limit:
sa
v
e th
e
comparison to the arguments
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
an Car
p
e
n
ter
functi
o
n_ho
o
ks: fix
h
o
w database comparis
o
ns
are done
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
an
Carpe
n
ter
co
m
parison:
p
ass t
h
e i
g
nore field
to range_compa
r
is
o
n
_to_p
a
r
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-26
D
an Carpenter
comparison: take prev
i
ous c
o
m
p
a
r
isons
into account
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-25
Dan Carpenter
d
b
:
prefer
l
itera
l
s to par
a
m
eter ma
t
h
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-25
Dan Carp
e
nter
db: re-add some miss
i
ng [] characters
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-24
D
a
n
Carpenter
assigned_expr: un
d
efin
e
on modif
i
cation
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-24
Dan Carpen
t
er
db: fix
h
ow paramete
r
math works
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-24
Dan Carpenter
assigned_expr: add
reverse lin
k
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-24
Da
n
C
a
rpenter
l
i
nk
s
: create a
s
m
atch_li
n
ks
.
c file with functions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
Dan Carpent
e
r
pa
r
se
_
call_math: fix left overs from the format change
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
Da
n
Carpenter
param_
s
et:
w
ri
t
e
s
tr
u
ct members in t
e
rms o
f
parameter
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
Dan Carpenter
extr
a
:
write certain
r
eturned stru
c
t members in terms
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
Dan Carpe
n
te
r
db
:
pa
s
s the return e
x
pr
e
ssion to
the returne
d
_mem
b
e
r_
c
a
l
lback
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
D
an Carpenter
ext
r
a
: save r
e
turn values in terms of parameter math
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
D
a
n
Carpenter
d
b: unify how
p
a
r
amet
e
r
d
escr
i
ptions ar
e
saved
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-22
Da
n
Carpen
t
er
compa
r
iso
n
: add an ignore parameter t
o
expr_equa
l
_
to_
p
ar
a
m(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-17
Dan
C
arpenter
u
nreachable: ignore the
u
n
reachable() macro
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-17
Dan
Carp
e
nter
e
r
r
_
ptr_de
r
ef: passing an ERR_PTR
t
o kfree(
)
is
a
bug
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-17
Dan Carpenter
ext
r
a: handle mer
g
ing NULL poin
t
ers better
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-16
Dan Car
p
en
t
er
extra: addresses of array
s
a
re non-NULL
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-15
Dan
C
a
rpente
r
db
:
remove b
o
gus param
e
ter inf
o
r
mation f
r
om h
o
o
k ty
p
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-15
Da
n
Carpenter
d
b
: add a new table which h
o
ld
parameter
typ
e
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-11
Dan Ca
r
pen
t
er
t
ype: in
t
roduce type_to_str()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-09
D
a
n Ca
r
p
en
t
er
locking: remove
some
duplicate "someti
m
es locked" wa
r
nings
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-04
Dan Ca
r
p
e
n
ter
generisiz
e
.
p
l: filter some more stuff
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-04
Dan Carpe
n
ter
generes
i
ze
.
pl: cl
e
anup indent
a
tion
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-09-04
Dan Ca
r
penter
r
an
g
es: a poin
t
er to an
a
rray i
s
just a pointer
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
D
a
n
Carp
e
nt
e
r
extra: recor
d
global
d
eclarations
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
D
an Carpenter
c
o
ndit
i
ons:
u
pdate
s
ome
d
ebug ou
t
put
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Car
p
e
n
t
e
r
comp
a
rison: introduce possible_
c
omp
a
rison()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Carpent
e
r
ex
t
r
a
:
u
pdate a debug s
t
atement
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Da
n
Carpenter
function_ptrs:
t
rack funct
i
ons w
h
ich
re
t
urn a function
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Car
p
e
n
ter
show_errs
.
sh: quote so
m
e
s
trings prop
e
r
l
y
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Carpenter
sl
i
st:
put ge
t
_
sm_state_s
t
ree_stack() in
t
h
e
.
h file
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
D
an Carpenter
states: change the
d
e
b
ug
o
utpu
t
format
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Ca
r
pent
e
r
struct_
a
ssignment
:
handle kzalloc() bet
t
e
r
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Car
p
e
n
ter
slist: add the filena
m
e to some debug o
u
t
put
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Carpenter
f
l
ow:
p
arse
glo
b
al variables befo
r
e parsing functions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Carpente
r
slist: export
t
he set_state_st
r
e
e_perm() fu
n
ction to
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-29
Dan Carpe
n
ter
comp
a
rison: a variable i
s
alw
a
ys
equ
a
l to
itself
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-25
Dan Carpenter
remove n
u
l
l
tes
t
s fo
r
arrays
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-25
Dan
C
arpenter
Makefile: allow CC to be de
f
ined outsi
d
e th
e
mak
e
f
i
le
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-25
Dan Carpen
t
er
sile
n
ce
n
on-ANSI
warnings
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-08-05
Dan Ca
r
pent
e
r
h
e
l
per: preven
t
segf
a
ul
t
in ex
p
r_to_var
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-07-25
Dan Carpenter
extr
a
: imp
r
o
ve handling
of "if
(
x
* 4
> 12) {
"
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-07-18
D
an
Carpenter
mi
s
sin
g
_break: make a function static
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-07-14
Dan
Carpenter
db: f
i
x runt
i
me breakage
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-07-11
Dan Ca
r
pen
t
e
r
de
r
efere
n
ces_param: ad
d
m
ore der
e
f
erenced v
a
riables
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-20
Da
n
Carpenter
ranges: re
m
ove unneeded NULL check
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-20
Dan Carpenter
type
_
val: st
o
re
f
ake assignments in a slightly di
f
fere
n
t
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-20
Dan Car
p
e
n
t
e
r
param_set/
f
ilter: do
n
'
t print less useless information
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-19
Dan Carpe
n
ter
db: f
i
xup af
t
e
r call_implies cha
n
ges
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-19
Dan Carpen
t
er
param_cleared: handle direct assignment
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-19
Dan Carpenter
db: make call_implies match caller_info wit
h
a key
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-18
D
a
n
C
arpenter
smdb
.
py: fix test for if
a datatype is known
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-12
Dan Carpenter
assigned_e
x
pre
s
s
ion: get the assigned express
i
on usin
g
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-12
Dan Carpenter
rosenberg: hand
l
e struct
t
o struct assignments
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-06-12
Dan Ca
r
penter
dat
a
/kernel
.
si
z
eo
f
_p
a
r
a
m
.
remove: add __dynamic
_
p
r
_debu
g
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-29
Dan Carpenter
struct_assignm
e
nt: intr
o
d
uce get_faked_expr
e
s
s
ion(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-29
Dan C
a
rp
e
nter
s
t
ruct_assi
g
nment: han
d
le memcpy(f
o
o,
.
.
.
)
where foo
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-29
Da
n
Carpe
n
ter
math: be more a
m
bitious handling
right shift
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-28
D
an Car
p
ente
r
user_data:
k
strtoul
(
) and fr
i
e
nds should
t
a
int dat
a
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-28
Dan Ca
r
penter
e
xtra: m
o
re limits on
wh
i
ch var
i
ables are eq
u
ival
e
nt
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-27
Dan Carpent
e
r
db: get return s
t
a
tes from
functi
o
n poi
n
ters if p
o
ssible
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-23
Dan Carpen
t
e
r
propagate
:
remove validation test because we
r
emoved
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-22
Dan Carpenter
sl
i
st: introduce merge_fa
k
e_stree
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-22
Dan Carp
e
nter
unreachable: s
i
le
n
ce "no
t
actu
a
lly initia
l
i
zed" false
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-22
Dan Carpenter
ro
s
e
nbe
r
g: fix so
m
e f
a
lse positives
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-16
Dan Carpenter
debug
:
in
t
roduce __smat
c
h_debug_check() to debug a
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-14
Da
n
Carpenter
*new* chec
k
_no_if
_
block: sometimes
t
he i
f
b
lock is
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-13
D
an Carpenter
unc
o
nstant_
m
acros:
a
dd VM_SOFTDIRTY
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-07
Dan Carpenter
type:
i
nt
r
oduce i
s
_string()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-07
Dan Carpente
r
user_
d
ata: i
n
troduce implied
_
user_d
a
t
a
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-07
Dan Carpenter
r
osenberg:
r
efacto
r
match_copy_to
_
u
s
er
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-07
Da
n
Carpe
n
t
er
r
osenbe
r
g
:
check many more functions
ins
t
e
ad of just
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-07
Da
n
Carpenter
rosenberg: add memze
r
o()
t
o
clear
fun
c
t
i
ons
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-06
D
a
n Carpe
n
ter
par
a
m_cle
a
red:
m
emzero() clears
t
h
e
p
a
rameter
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2014-05-05
Dan Carpe
n
t
er
db: split all boolean
functions
i
nt
o
o
ne and zero strees
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next