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
buf_size: separate bytes_per_element() into its own function
2012-06-13
D
an Carpente
r
b
u
f_s
i
ze
:
s
e
parate bytes_pe
r
_element() into its own
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Da
n
Carp
e
nter
buf_si
z
e: using
-
>bit_si
z
e
d
oesn't wo
r
k
f
o
r void p
o
inters
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Dan Carpenter
b
u
f_size:
u
s
e get_stored_size_bytes() directly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
D
a
n Carp
e
nt
e
r
buf_size: make g
e
t_store
d
_size_byt
e
s() a separate functi
o
n
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Dan Carpenter
buf_s
i
z
e:
pull bytes_to
_
elements() in its own function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Da
n
Carpenter
buf_size: c
a
lculate
b
ytes per
element better
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Dan
Carpenter
buf_si
z
e: add a basi
c
validat
i
on
t
est
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-13
Dan Carpenter
bu
f
_size: if the s
i
z
e
is
var
i
able p
i
ck the lar
g
er o
n
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
D
a
n Carpente
r
buf_size: m
o
v
e get_size_from_strle
n
() into
it's own
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
Dan
Carpenter
buf_siz
e
: pull
get_size_from_initializer() i
n
to s
e
para
t
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
Dan Carpenter
buf_size: m
o
ve get_stored_size() out of ge
t
_arra
y
_siz
e
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
Dan Carp
e
nter
buf_size: pull handling of normal arrays in
t
o separate
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
Dan Carpente
r
buf_size:
m
ove some
f
unctions around
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
D
an Carpenter
buf_siz
e
: ad
d
mo
d
i
f
ication hooks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-12
Da
n
Carpen
t
er
debug: add a way
to debug b
u
ffer
s
iz
e
s __smatch
_
buf_size()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-11
Dan Carpenter
Or vs and
:
warn
a
b
o
ut
bitwise AN
D
s
that always gi
v
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-11
Dan C
a
rpenter
Or vs and: if (foo & ZE
R
O) is nonsen
s
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-11
Dan
C
arpenter
function_hash: make
i
t
e
a
sier to handle a fi
l
e with
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-06
Dan
C
arpenter
sign
e
d
: unbr
e
ak the c
h
e
ck
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-04
Dan Car
p
enter
o
v
erflow: u
p
date validation
t
est
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-04
Dan Carpenter
f
low: handl
e
struct
in
i
ti
a
l
i
zatio
n
better
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-04
Dan Ca
r
penter
flow: handle EX
P
R_OFFSETOF
and EXPR_AL
I
GN
O
F
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-06-04
Dan Carpenter
overflow: ignore "x = &
f
oo[ARR
A
Y_
S
IZE(foo)];"
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-30
Dan Carpen
t
er
overflow: wh
i
te s
p
ace
cleanups
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-30
Dan Carpent
e
r
im
p
lie
d
: the
base slist is
not
s
pecial
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-30
Dan Car
p
enter
s
l
ist: change
f
ormat f
o
r d
e
bug output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-30
Dan Carpenter
e
x
pre
s
sions: intr
o
duce some more expression allocati
o
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-29
Dan
Carpenter
val
i
d
a
tion: update
derefer
e
nc
e
ch
e
ck output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-29
Dan Carpen
t
er
implied: certain
st
a
t
e
s should
b
e left as is
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
Da
n
Ca
r
p
e
nter
slist: put the
s
m_s
t
ate i
t
self int
o
-
>possible not
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
D
an
Carpent
e
r
slist: clea
n
up merge_hooks API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
Dan
C
arpenter
extra:
don't create a new
merge
d
e
state if ->
r
ight
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan C
a
rpen
t
e
r
e
stat
e
s: reuse same estate fo
r
e
xtra_undefined()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
D
an Carpen
t
er
c
onstraints: get rid of add_
e
quiv(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Carpent
e
r
con
s
tra
i
nts: remove some de
a
d code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Carp
e
n
t
er
cons
t
r
a
in
t
s
:
fix s
e
t_equiv
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Car
p
ent
e
r
const
r
a
ints: a
d
d_related(
)
should tak
e
a rela
t
ed_list
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Carpenter
constraints: sort the ->rel
a
ted lis
t
properly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Car
p
enter
constra
i
nts: replac
e
get_common_r
e
lations
h
ip(
)
with
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan
C
arp
e
n
t
er
slist:
m
o
ve a
d
d_pool
(
)
t
o smatch_
i
mplied
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-24
Dan Carpen
t
e
r
bit_shift: ad
d
test_bit(
)
function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-23
Da
n
C
arpenter
flow: silenc
e
false p
o
sitives caused
b
y hairy functions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpenter
impli
e
d
:
rename ->my_pool to ->pool
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpe
n
te
r
slist: rename a
d
d_pos
s
i
ble
(
)
=>
copy
_
po
s
s
i
bles(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
an Carpenter
or_vs_and: ignore *p++ || *p++
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Car
p
e
nter
tracker:
f
ix a
smal
l
m
em
o
r
y
leak
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan C
a
rpenter
m
o
dification: remove calls to
delete_s
t
ate()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan C
a
rpenter
chec
k
_de
r
efe
r
ence
:
enable this
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan
C
a
r
p
e
nter
db
:
s
tore wh
e
t
her fu
n
ctions are global
o
r
static
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
a
n Carpenter
tracker: remove unused
c
lone_track
e
r
_
l
i
s
t()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
a
n
Carpenter
slist:
b
u
ffer overflow in debugging code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpente
r
u
ser_data: fix NULL dere
f
erence
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
Dan Ca
r
penter
db
:
whit
e
space c
l
e
a
nups
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
Dan Car
p
e
n
ter
db: move parameter_i
m
plications in
t
o the database
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
Da
n
Carpenter
ranges: add possi
b
ly
_
true/f
a
l
se_ran
g
e_
l
ists_rl()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-18
Dan
Carpent
e
r
overflow:
a
u
t
o
matically
l
ist fu
n
ction
s
t
h
at take a
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-18
Da
n
Car
p
enter
modification_h
o
oks: c
o
mp
l
ete rewrite
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-17
Dan
C
a
r
penter
db: prin
t
t
h
e SQ
L
queries when --debug i
s
on
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Carpenter
cleanup: use
va
l
id_
p
tr_min/max
.
get r
i
d of POI
N
T
ER_MAX
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Carpenter
extr
a
:
d
e
referen
c
i
n
g
a
p
ointer m
e
a
n
s it
is valid
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Carp
e
nter
implied:
cleanu
p
d
e
bug
o
utput a lit
t
le
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Carpe
n
ter
slist: pull show
_
sm
(
) i
n
to a
separate function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Ca
r
pe
n
ter
check_kernel:
E
RR_P
T
R() return
s
no
n
-NU
L
L
(mos
t
ly)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carp
e
n
t
er
dere
f
ere
n
ce
checks: use the cross fu
n
ction i
n
fo from
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carp
e
n
t
er
*n
e
w* check
_
d
e
references_pa
r
am:
li
s
t
functions tha
t
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Ca
r
penter
*new* r
e
turns: merge all slists fro
m
a
l
l returns
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carpen
t
er
d
b
:
a
d
d
call_i
m
pli
e
s table
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Ca
r
p
e
n
ter
flow: print a different
f
ilen
a
me when --info opti
o
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan
Carpenter
deref: fix a typo in the error
message
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-10
Dan Carpente
r
user_data:
tra
c
k u
s
er
d
a
t
a that is retur
n
e
d to other
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-10
Dan Carpenter
bool_implication
s
:
rem
o
ve debugg
i
ng output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-08
Dan
C
arpente
r
f
i
x co
m
p
i
l
e on Ubuntu
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-07
Dan Carpen
t
er
generis
i
z
e
.
p
l:
s
trip all strings n
o
t just the first
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-07
D
an C
a
r
pente
r
buf_si
z
e: Add a NULL check t
o
g
e
t_array_si
z
e_bytes()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Da
n
Carp
e
nter
*new* sizeof_po
i
nt
e
r: using sizeof
(
p) where
sizeof
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Dan Carpenter
overflo
w
: chec
k
memcpy() to see if
we'
r
e
comparing
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Da
n
Car
p
enter
extra: don't reset &arguments until th
e
other c
h
ecks
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
D
a
n Carpenter
fl
o
w
:
chan
g
e how "for
(i
=
0; ; i++)
{
.
.
.
"
i
s handled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Da
n
Carpenter
*new
*
o
r_vs_and: compla
i
n about
if (x != 3 || x !=
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-24
Dan Carpenter
sparse: intro
d
uce get_expression_va
l
ue_nomod()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-23
Dan
Carpenter
typ
e
: introd
u
c
e
is_
p
ointer() function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-19
Dan Carpenter
ext
r
a: frob(
f
oo
)
resets the value of
*
foo
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-19
Dan Carpenter
e
x
tra: foo
(
(
v
o
i
d *)&x) wr
i
tes to
x
probably
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-18
Dan Ca
r
penter
ranges:
introduce
i
n
v
ert_range_l
i
s
t
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-18
Dan Carpenter
math: handle __smatc
h
_i
m
plied(&x
)
;
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpent
e
r
ran
g
es: comm
i
t
range_lis
t
s
_
equi
v
() so that
bool_imp
l
i
cations
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpenter
smdb_param_
b
uf_size
.
sh: ask db what si
z
e buff
e
rs are
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpen
t
er
e
x
tra: get_implied_ran
g
e_list
(
) should ha
n
d
l
e cond
i
tions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Da
n
Carpe
n
ter
buf_size: store buffer
si
z
es in db (
t
urned off by default)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan C
a
r
p
en
t
e
r
db: don
'
t die
on SQL
e
rror
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpenter
b
o
ol_imp
l
ications
:
make a
list of implicati
o
n
s
for
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-16
D
an C
a
r
p
en
t
er
math: handle logica
l
expressions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Dan C
a
rpe
n
ter
core: pr
i
nt sm_msg()s before pa
r
sing s
t
arts
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Dan Carpenter
pa
r
a
meter_im
p
lications: ge
n
erat
e
list of functions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Dan Ca
r
pente
r
db: ma
t
ch_return
(
) shouldn'
t
re-implement g
e
t_implied
_
ra
n
ge
_
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpenter
math
:
sort o
f
handle con
d
itions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpe
n
ter
math:
simpl
i
fy
imp
l
ie
d
_
c
ondit
i
on_t
r
u
e/false()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Da
n
Carpent
e
r
math:
sim
p
li
f
y known_condition
_
true/false()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpent
e
r
math: handle _
_
smatch_impl
i
ed(({frob(); 2;}));
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpente
r
math: handle foo =
!
2
;
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next