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
states: fix __set_sm() when a fake_cur_slist is being used
2012-12-14
Dan Carpenter
state
s
:
f
i
x __set_
s
m() when a fake_cur_slist is being
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
D
a
n
C
arpenter
function_
h
ooks:
add
s
ome ca
l
ls to __unnullify_path()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
Dan Carpenter
ranges: introduce
r
l_inv
e
r
t
()
,
rl_filter() and rl_inte
r
secti
o
n
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
Dan
Carpenter
extra: f
i
x a bug in how p
o
i
n
ter
s
ar
e
s
et ins
i
de c
a
ll
e
d
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
Dan Carpe
n
t
er
e
s
tate: introduc
e
get_impl
i
ed_estate()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
Dan Carpenter
extra:
estate: move mer
g
e_e
s
tate() from extra to estate
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
D
a
n Carpenter
extra:
parse asm and unops after every
o
ne else is finished
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-14
D
a
n Carpe
n
ter
pointer_math: check for (int *)p += sizeof(int);
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-10
Dan
C
arp
e
nt
e
r
treewid
e
:
fix so
m
e memory leaks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-10
Dan
Carpenter
Revert "constraints: fix bug in remove_fro
m
_equi
v
()"
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-08
Dan
C
arpenter
slist:
fix
s
ome de
b
ug c
o
de
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-08
Dan Carpenter
slist: compile
error i
n
debug c
o
d
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-08
Dan Car
p
enter
constraint
s
: fix
a
memory le
a
k
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-08
Dan Carpenter
c
o
nstraints: fix bug in remove_fro
m
_equiv(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-08
D
an Carpenter
constraints: use cmp
_
relati
o
n()
instea
d
of custom code
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-07
Dan Carpenter
conditi
o
ns
:
r
ew
o
rk __is_cond
i
tion_assign(
)
=> is_co
n
d
i
tion()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-06
Dan Carp
e
nte
r
db: remo
v
e ge
t
_r
e
t
u
rn_id
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpent
e
r
parse_call_m
a
th: u
p
da
t
e to new return_s
t
ates API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
a
n
Carpenter
user_d
a
ta:
move to th
e
return_states API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
a
n
Carp
e
nter
extra:
m
ove retu
r
n_value_param
t
o
t
he new return_state
s
AP
I
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
an Carpenter
states
:
introduce get_a
l
l_state_slist
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Da
n
Carpenter
db: c
a
ll r
e
turn_states at the end of
t
he fun
c
t
i
on
if
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan C
a
r
p
ent
e
r
db: fix return ranges fo
r
the retur
n
_states cal
l
backs
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan C
a
rpenter
db: change print_returne
d
_s
t
ru
c
t
_
m
embers() to
new API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpente
r
db:
introduce add
_
returned
_
state_callback(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
D
a
n Ca
r
penter
d
b
: pa
s
s the retur
n
_id to
t
h
e struct membe
r
callbacks
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Carpenter
mo
d
ificat
i
on_hooks: han
d
le i
n
li
n
e
assembly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-05
Dan Ca
r
penter
i
n
f
o
: dereferences_p
a
ram: p
r
int t
h
e dereferences
even
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-12-03
Dan C
a
rpenter
db: handle global f
u
nction
assignmen
t
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-30
Dan Car
p
e
n
ter
e
x
tra: info
:
don't print
empty s
t
at
e
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-29
D
an
Carpenter
absolute: u
s
e get_implied_m
i
n() in
s
tead of get_implied_value()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-29
Dan Carp
e
nte
r
ext
r
a: save more modified pointers
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan C
a
rpenter
db: chan
g
e smd
b
_return_info
.
sh t
o
smdb_
r
eturn_
v
alues
.
s
h
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan
Carpenter
e
x
tra: db: rec
o
rd
w
hen people m
o
d
i
fy pointer
s
passed
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
D
an Carpenter
extra
:
move --
i
nfo
h
ook
s
later
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan Carpent
e
r
db: move free_slist() inside t
h
e
loop and fi
x
a memory
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-28
Dan
Ca
r
penter
he
l
per: int
r
oduce
g
et_param_num_f
r
o
m
_sym()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-27
Dan Carpenter
db: save
st
r
uct membe
r
valu
e
s
across
re
t
urn
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-27
Dan C
a
rpent
e
r
type:
r
ename get_param_type_from_ke
y
() => get_
m
e
mbe
r
_type_fr
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan
Carpenter
f
l
ow: implied: fix ho
w
switch statemen
t
s are handled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan
C
arpenter
generisize
.
pl: remove u16
m
ax an
d
friends
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan C
a
rp
e
n
ter
extr
a
: tweak handl
i
n
g of absolute m
i
n/m
a
x
i
n comparis
o
ns
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan C
a
rp
e
nter
ma
t
h: ignore fuzz
y
max
e
s that are type_m
i
n() + 1
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-26
Dan C
a
r
p
e
n
te
r
math
:
o
v
erfl
o
w
i
mplies
t
ha
t
there is no fuzz
y
max
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Carpent
e
r
mat
h
:
o
verflows in hard max ar
e
undefi
n
ed
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Ca
r
penter
extra: han
d
le
loops where without a hard max th
a
t
d
o
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan
C
ar
p
enter
extra
:
clear ha
r
d max
i
f we ar
e
f
all
i
ng back to the
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan
C
arpenter
extra
:
get max
co
r
rectly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Da
n
Carpe
n
ter
extra: set hard max cor
r
ect
l
y in loops
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n
Carpe
n
ter
extra: if (unsigned >
=
u
n
signed) {:
A
lways
true
if
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n
Carpenter
math: ch
e
ck for overfl
o
ws when calculating the max
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n Carpenter
conditions: preserve the type in select as
s
ignment
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
an
C
arpente
r
typ
e
: cl
e
anp get_membe
r
_symbol()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
an C
a
rpenter
extra
:
ty
p
e: get the member type when loa
d
ing values
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
D
a
n C
a
r
p
enter
debu
g
: add __smatch_deb
u
g_impli
e
d_on/off()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Dan Carpente
r
deb
u
g: i
n
tro
d
uc
e
l
o
cal_debug
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-23
Da
n
Carpe
n
ter
extr
a
: rever
s
e max(
)
/min()
t
e
s
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
Dan
C
arp
e
nter
sval: han
d
le
c
a
n
o
n
ical for
loops d
i
ffe
r
e
n
t
l
y
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
D
an
C
ar
p
e
nter
sval: convert SHRT_MAX to
s
16
m
ax in the out
p
ut
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
Dan
Carpe
n
te
r
function_hooks: co
n
sider the return type of t
h
e
f
un
c
tion
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-21
D
an C
a
r
p
enter
e
xtra: remove so
m
e
duplicate code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
D
an Carpenter
math:
change how MOD
opera
t
ions a
r
e h
a
ndled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Da
n
Carpenter
math:
count
some m
o
re things as
i
mplied
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
D
a
n C
a
rpente
r
e
x
tra: type: move g
e
t_arge_type
(
)
t
o smatch_type
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carpenter
extra
:
math: move get_implied_range_list() to smatch_math
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carpente
r
s
v
al: extra:
get_impli
e
d
_r
a
n
g
e_list() ret
u
rn w
h
ol
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-20
Dan Carpenter
s
cr
i
pt
s
: trace par
a
ms use
4 space
i
ndents cons
i
stently
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sval: math: fix get_value() f
o
r !foo
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
D
a
n Carpenter
check_sizeof_pointer: co
m
plain about sizeo
f
(&
f
oo)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
D
a
n
C
a
rpenter
hooks:
add a
S
I
ZEOF
_
HOO
K
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sva
l
:
make
c
ast_rl() pres
e
rve things
better ac
r
oss
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpen
t
er
s
va
l
: type: handle type_bits() for addr
e
sses
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sval: type: use type_bits() thr
o
u
gh out
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Ca
r
penter
sval: fixup
c
a
l
ls
to sval_
c
mp_val()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
D
an Carp
e
n
t
er
sval: type
:
h
a
c
k
select types
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan C
a
rpenter
extra: remove debu
g
gi
n
g
output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan Carpenter
sv
a
l:
a
d
d sval_is_n
e
gative()
/
posit
i
v
e()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Dan
C
arpe
n
te
r
sval: take the type into cons
i
deration when doing an
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-19
Da
n
C
arpenter
sval: cas
t
thing
s
c
orrectly in
s
val_c
m
p(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-17
Dan Carpent
e
r
f
low: hooks: fix MACR
O
_AS
S
IGNMENT_HO
O
K
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-17
D
a
n Carpenter
f
l
o
w
: hooks: in
t
roduce G
L
OBAL_ASSIGNME
N
T
_HOOK
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-17
Dan Carpe
n
ter
sv
a
l: intro
d
u
c
e sval_bits
_
used()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpenter
type: in
t
roduce typ
e
_
bit
s
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carp
e
nte
r
Merg
e
bra
n
ch 'sval' into merg
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan C
a
rpent
e
r
sval: rang
e
s:
s
et correct ma
x
in cas
t
_
r
l(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpenter
sv
a
l:
d
b
:
c
ast parameters to the co
r
rect t
y
pe before
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan
Carpente
r
sval: e
x
tra: han
d
le assignments
b
et
t
er
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
D
a
n C
a
rpenter
s
v
al: cast the ret
u
rn types before ente
r
ing them into
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan C
a
rpen
t
e
r
sval: extra
:
type information was being
lost
in
+
+
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan C
a
r
p
enter
sval: flip
t
he
switch
a
nd don't use
s32mi
n
-s32ma
x
inst
e
ad
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Carpenter
sval: signed: fix val
i
dation test and
u
pdat
e
fo
r
mat
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-15
Dan Ca
r
penter
v
alidation: signed
:
u
p
d
ate v
a
lidation test to ref
l
ect
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
D
an
Car
p
ente
r
math: c
l
eanup some nam
i
ng
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Dan Carpent
e
r
math: add f
u
zzy_max and f
u
zzy_min
to implied
_
opposite()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
D
a
n C
a
rpenter
sval
:
math: fi
x
how negate operati
o
ns are handle
d
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-14
Dan
Carpenter
sval: abs
o
lute: fix reversed co
n
dition
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
sval: you're no
t
all
o
wed to divide L
L
ONG
_
MI
N
by -1
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan Carpenter
sval: fix pars
e
_val
u
e_ranges_typ
e
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-13
Dan
Ca
r
penter
s
val
:
re
-
introduce 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 Carpenter
sval: don't invent
b
ogus range in
alloc_r
a
nge_helper_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next