"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/drivers.c" between
mailfromd-8.10.tar.xz and mailfromd-8.11.tar.xz

About: Mailfromd is a general-purpose mail filtering daemon for Sendmail, Postfix and MeTA1 (interfaces with the MTA using Milter or PMilter protocols).

drivers.c  (mailfromd-8.10.tar.xz):drivers.c  (mailfromd-8.11.tar.xz)
skipping to change at line 26 skipping to change at line 26
static inline void static inline void
mark_locus(NODE *node, struct mu_locus_range const **old_locus) mark_locus(NODE *node, struct mu_locus_range const **old_locus)
{ {
if (!*old_locus if (!*old_locus
|| !mu_locus_point_same_line (&(*old_locus)->beg, &node->locus.beg)) { || !mu_locus_point_same_line (&(*old_locus)->beg, &node->locus.beg)) {
struct literal *lit = literal_lookup(node->locus.beg.mu_file); struct literal *lit = literal_lookup(node->locus.beg.mu_file);
*old_locus = &node->locus; *old_locus = &node->locus;
code_op(opcode_locus); code_op(opcode_locus);
code_immediate(lit->off, ulong); code_immediate(lit->off, ulong);
code_immediate(node->locus.beg.mu_line, ulong); code_immediate(node->locus.beg.mu_line, uint);
} }
} }
static void code_trycatch_exit(unsigned id); static void code_trycatch_exit(unsigned id);
static unsigned trycatch_last_id(void); static unsigned trycatch_last_id(void);
void void
code_memref(NODE *node) code_memref(NODE *node)
{ {
switch (node->v.var_ref.variable->storage_class) { switch (node->v.var_ref.variable->storage_class) {
case storage_extern: case storage_extern:
skipping to change at line 2205 skipping to change at line 2205
*/ */
static void static void
code_switch_branches(NODE *node, data_type_t type) code_switch_branches(NODE *node, data_type_t type)
{ {
prog_counter_t refpos, jmppos; prog_counter_t refpos, jmppos;
struct case_stmt *pcase; struct case_stmt *pcase;
size_t data_off = node->v.switch_stmt.off; size_t data_off = node->v.switch_stmt.off;
code_op(opcode_popreg); code_op(opcode_popreg);
code_op(type == dtype_number ? opcode_xlat : opcode_xlats); code_op(type == dtype_number ? opcode_xlat : opcode_xlats);
code_immediate(node->v.switch_stmt.tabsize, ulong); code_immediate(node->v.switch_stmt.tabsize, size);
code_immediate(data_off, size); code_immediate(data_off, size);
code_op(opcode_bnz); code_op(opcode_bnz);
code_immediate(1, long); code_immediate(1, long);
refpos = code_op(opcode_jreg); refpos = code_op(opcode_jreg);
/* Generate code for the branches */ /* Generate code for the branches */
jmppos = 0; jmppos = 0;
for (pcase = node->v.switch_stmt.cases; for (pcase = node->v.switch_stmt.cases;
pcase; pcase;
pcase = pcase->next) { pcase = pcase->next) {
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)