Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
beea043b
...
beea043b3f9bd8b60f77cd1ff795c77ddafbcbee
authored
2003-07-26 11:20:53 +0000
by
Sergey Poznyakoff
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
(sieve_code_anyof, sieve_code_allof): New functions.
(struct check_arg): Minor change
1 parent
dfbcd782
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
1 deletions
libsieve/prog.c
libsieve/prog.c
View file @
beea043
...
...
@@ -119,7 +119,7 @@ _compare_ptr (void *item, void *data)
}
struct
check_arg
{
char
*
name
;
c
onst
c
har
*
name
;
list_t
args
;
list_t
tags
;
};
...
...
@@ -317,3 +317,33 @@ sieve_code_test (sieve_register_t *reg, list_t arglist)
||
sieve_code_command
(
reg
,
arglist
);
}
void
sieve_code_anyof
(
size_t
start
)
{
size_t
end
=
sieve_machine
->
pc
;
while
(
sieve_machine
->
prog
[
start
+
1
].
pc
!=
0
)
{
size_t
next
=
sieve_machine
->
prog
[
start
+
1
].
pc
;
sieve_machine
->
prog
[
start
].
instr
=
instr_brnz
;
sieve_machine
->
prog
[
start
+
1
].
pc
=
end
-
start
-
2
;
start
=
next
;
}
sieve_machine
->
prog
[
start
].
instr
=
instr_nop
;
sieve_machine
->
prog
[
start
+
1
].
instr
=
instr_nop
;
}
void
sieve_code_allof
(
size_t
start
)
{
size_t
end
=
sieve_machine
->
pc
;
while
(
sieve_machine
->
prog
[
start
+
1
].
pc
!=
0
)
{
size_t
next
=
sieve_machine
->
prog
[
start
+
1
].
pc
;
sieve_machine
->
prog
[
start
+
1
].
pc
=
end
-
start
-
2
;
start
=
next
;
}
sieve_machine
->
prog
[
start
].
instr
=
instr_nop
;
sieve_machine
->
prog
[
start
+
1
].
instr
=
instr_nop
;
}
...
...
Please
register
or
sign in
to post a comment