/[mailutils]/mailutils/libsieve/prog.c
ViewVC logotype

Diff of /mailutils/libsieve/prog.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by polak, Sun Feb 9 20:39:57 2003 UTC revision 1.8 by gray, Sat Jul 26 11:20:53 2003 UTC
# Line 119  _compare_ptr (void *item, void *data) Line 119  _compare_ptr (void *item, void *data)
119  }  }
120    
121  struct check_arg {  struct check_arg {
122    char *name;    const char *name;
123    list_t args;    list_t args;
124    list_t tags;    list_t tags;
125  };  };
# Line 317  sieve_code_test (sieve_register_t *reg, Line 317  sieve_code_test (sieve_register_t *reg,
317           || sieve_code_command (reg, arglist);           || sieve_code_command (reg, arglist);
318  }  }
319    
320    void
321    sieve_code_anyof (size_t start)
322    {
323      size_t end = sieve_machine->pc;
324      while (sieve_machine->prog[start+1].pc != 0)
325        {
326          size_t next = sieve_machine->prog[start+1].pc;
327          sieve_machine->prog[start].instr = instr_brnz;
328          sieve_machine->prog[start+1].pc = end - start - 2;
329          start = next;
330        }
331      sieve_machine->prog[start].instr = instr_nop;
332      sieve_machine->prog[start+1].instr = instr_nop;
333    }
334    
335    void
336    sieve_code_allof (size_t start)
337    {
338      size_t end = sieve_machine->pc;
339      
340      while (sieve_machine->prog[start+1].pc != 0)
341        {
342          size_t next = sieve_machine->prog[start+1].pc;
343          sieve_machine->prog[start+1].pc = end - start - 2;
344          start = next;
345        }
346      sieve_machine->prog[start].instr = instr_nop;
347      sieve_machine->prog[start+1].instr = instr_nop;
348    }
349                    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26