| 71 | } |
| 72 | |
| 73 | static int match_binary(const char *b1, const char *b2, const char *mask, int addrlen) |
| 74 | { |
| 75 | int i; |
| 76 | |
| 77 | for (i = 0; i < addrlen; i++) { |
| 78 | if ((b1[i] ^ b2[i]) & mask[i]) |
| 79 | return 0; |
| 80 | } |
| 81 | |
| 82 | return 1; |
| 83 | } |
| 84 | |
| 85 | static void make_mask(char *mask, int plen, int addrlen) |
| 86 | { |