+1171. [func] Added function isc_region_compare(), updated files in
+ lib/dns to use this function instead of local one.
+
1170. [bug] Don't attempt to print the token when a I/O error
occurs when parsing named.conf. [RT #2275]
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata.c,v 1.156 2001/11/30 01:02:09 gson Exp $ */
+/* $Id: rdata.c,v 1.157 2002/01/05 07:05:05 ogud Exp $ */
#include <config.h>
#include <ctype.h>
static isc_result_t
mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length);
-static int
-compare_region(isc_region_t *r1, isc_region_t *r2);
-
static int
hexvalue(char value);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- result = compare_region(&r1, &r2);
+ result = isc_region_compare(&r1, &r2);
}
return (result);
}
return (ISC_R_SUCCESS);
}
-static int
-compare_region(isc_region_t *r1, isc_region_t *r2) {
- unsigned int l;
- int result;
-
- l = (r1->length < r2->length) ? r1->length : r2->length;
-
- if ((result = memcmp(r1->base, r2->base, l)) != 0)
- return ((result < 0) ? -1 : 1);
- else
- return ((r1->length == r2->length) ? 0 :
- (r1->length < r2->length) ? -1 : 1);
-}
-
static int
hexvalue(char value) {
char *s;
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsig_250.c,v 1.53 2001/11/27 01:55:32 gson Exp $ */
+/* $Id: tsig_250.c,v 1.54 2002/01/05 07:05:06 ogud Exp $ */
/* Reviewed: Thu Mar 16 13:39:43 PST 2000 by gson */
return (order);
isc_region_consume(&r1, name_length(&name1));
isc_region_consume(&r2, name_length(&name2));
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cert_37.c,v 1.41 2001/11/27 01:55:35 gson Exp $ */
+/* $Id: cert_37.c,v 1.42 2002/01/05 07:05:07 ogud Exp $ */
/* Reviewed: Wed Mar 15 21:14:32 EST 2000 by tale */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gpos_27.c,v 1.33 2001/11/27 00:55:58 gson Exp $ */
+/* $Id: gpos_27.c,v 1.34 2002/01/05 07:05:08 ogud Exp $ */
/* reviewed: Wed Mar 15 16:48:45 PST 2000 by brister */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: hinfo_13.c,v 1.38 2001/11/27 00:56:00 gson Exp $ */
+/* $Id: hinfo_13.c,v 1.39 2002/01/05 07:05:10 ogud Exp $ */
/*
* Reviewed: Wed Mar 15 16:47:10 PST 2000 by halley.
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: isdn_20.c,v 1.30 2001/07/16 03:06:08 marka Exp $ */
+/* $Id: isdn_20.c,v 1.31 2002/01/05 07:05:11 ogud Exp $ */
/* Reviewed: Wed Mar 15 16:53:11 PST 2000 by bwelling */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: key_25.c,v 1.42 2001/11/27 01:55:36 gson Exp $ */
+/* $Id: key_25.c,v 1.43 2002/01/05 07:05:12 ogud Exp $ */
/*
* Reviewed: Wed Mar 15 16:47:10 PST 2000 by halley.
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: loc_29.c,v 1.31 2001/11/27 00:56:01 gson Exp $ */
+/* $Id: loc_29.c,v 1.32 2002/01/05 07:05:13 ogud Exp $ */
/* Reviewed: Wed Mar 15 18:13:09 PST 2000 by explorer */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: null_10.c,v 1.36 2001/09/10 23:47:25 marka Exp $ */
+/* $Id: null_10.c,v 1.37 2002/01/05 07:05:14 ogud Exp $ */
/* Reviewed: Thu Mar 16 13:57:50 PST 2000 by explorer */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nxt_30.c,v 1.51 2001/11/27 01:55:38 gson Exp $ */
+/* $Id: nxt_30.c,v 1.52 2002/01/05 07:05:15 ogud Exp $ */
/* reviewed: Wed Mar 15 18:21:15 PST 2000 by brister */
if (order != 0)
return (order);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: opt_41.c,v 1.25 2001/07/16 03:06:24 marka Exp $ */
+/* $Id: opt_41.c,v 1.26 2002/01/05 07:05:16 ogud Exp $ */
/* Reviewed: Thu Mar 16 14:06:44 PST 2000 by gson */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: proforma.c,v 1.30 2001/01/09 21:54:35 bwelling Exp $ */
+/* $Id: proforma.c,v 1.31 2002/01/05 07:05:17 ogud Exp $ */
#ifndef RDATA_GENERIC_#_#_C
#define RDATA_GENERIC_#_#_C
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sig_24.c,v 1.55 2001/11/27 01:55:40 gson Exp $ */
+/* $Id: sig_24.c,v 1.56 2002/01/05 07:05:18 ogud Exp $ */
/* Reviewed: Fri Mar 17 09:05:02 PST 2000 by gson */
INSIST(r2.length > 18);
r1.length = 18;
r2.length = 18;
- order = compare_region(&r1, &r2);
+ order = isc_region_compare(&r1, &r2);
if (order != 0)
return (order);
isc_region_consume(&r1, name_length(&name1));
isc_region_consume(&r2, name_length(&name2));
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: soa_6.c,v 1.55 2001/11/27 01:55:42 gson Exp $ */
+/* $Id: soa_6.c,v 1.56 2002/01/05 07:05:19 ogud Exp $ */
/* Reviewed: Thu Mar 16 15:18:32 PST 2000 by explorer */
isc_region_consume(®ion1, name_length(&name1));
isc_region_consume(®ion2, name_length(&name2));
- return (compare_region(®ion1, ®ion2));
+ return (isc_region_compare(®ion1, ®ion2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkey_249.c,v 1.49 2001/11/27 01:55:43 gson Exp $ */
+/* $Id: tkey_249.c,v 1.50 2002/01/05 07:05:20 ogud Exp $ */
/*
* Reviewed: Thu Mar 16 17:35:30 PST 2000 by halley.
return (order);
isc_region_consume(&r1, name_length(&name1));
isc_region_consume(&r2, name_length(&name2));
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: txt_16.c,v 1.37 2001/07/16 03:06:33 marka Exp $ */
+/* $Id: txt_16.c,v 1.38 2002/01/05 07:05:21 ogud Exp $ */
/* Reviewed: Thu Mar 16 15:40:00 PST 2000 by bwelling */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: unspec_103.c,v 1.29 2001/09/10 23:47:26 marka Exp $ */
+/* $Id: unspec_103.c,v 1.30 2002/01/05 07:05:22 ogud Exp $ */
#ifndef RDATA_GENERIC_UNSPEC_103_C
#define RDATA_GENERIC_UNSPEC_103_C
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: x25_19.c,v 1.31 2001/07/16 03:06:36 marka Exp $ */
+/* $Id: x25_19.c,v 1.32 2002/01/05 07:05:24 ogud Exp $ */
/* Reviewed: Thu Mar 16 16:15:57 PST 2000 by bwelling */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a_1.c,v 1.46 2001/07/16 03:06:40 marka Exp $ */
+/* $Id: a_1.c,v 1.47 2002/01/05 07:05:25 ogud Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aaaa_28.c,v 1.36 2001/07/16 03:06:41 marka Exp $ */
+/* $Id: aaaa_28.c,v 1.37 2002/01/05 07:05:26 ogud Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsap_22.c,v 1.34 2001/11/27 01:55:48 gson Exp $ */
+/* $Id: nsap_22.c,v 1.35 2002/01/05 07:05:27 ogud Exp $ */
/* Reviewed: Fri Mar 17 10:41:07 PST 2000 by gson */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: wks_11.c,v 1.46 2001/11/27 01:55:51 gson Exp $ */
+/* $Id: wks_11.c,v 1.47 2002/01/05 07:05:28 ogud Exp $ */
/* Reviewed: Fri Mar 17 15:01:49 PST 2000 by explorer */
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
- return (compare_region(&r1, &r2));
+ return (isc_region_compare(&r1, &r2));
}
static inline isc_result_t
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: buffer.c,v 1.36 2001/01/09 21:55:56 bwelling Exp $ */
+/* $Id: buffer.c,v 1.37 2002/01/05 07:05:02 ogud Exp $ */
#include <config.h>
return (ISC_R_SUCCESS);
}
+int
+isc_region_compare(isc_region_t *r1, isc_region_t *r2) {
+ unsigned int l;
+ int result;
+
+ REQUIRE(r1 != NULL);
+ REQUIRE(r2 != NULL);
+
+ l = (r1->length < r2->length) ? r1->length : r2->length;
+
+ if ((result = memcmp(r1->base, r2->base, l)) != 0)
+ return ((result < 0) ? -1 : 1);
+ else
+ return ((r1->length == r2->length) ? 0 :
+ (r1->length < r2->length) ? -1 : 1);
+}
+
isc_result_t
isc_buffer_allocate(isc_mem_t *mctx, isc_buffer_t **dynbuffer,
unsigned int length)
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: buffer.h,v 1.39 2001/02/07 01:36:12 bwelling Exp $ */
+/* $Id: buffer.h,v 1.40 2002/01/05 07:05:04 ogud Exp $ */
#ifndef ISC_BUFFER_H
#define ISC_BUFFER_H 1
* ISC_R_NOSPACE The available region of 'b' is not
* big enough.
*/
+int
+isc_region_compare(isc_region_t *r1, isc_region_t *r2);
+/*
+ * Compares the contents of two regions
+ *
+ * Requires:
+ * 'r1' is a valid region
+ * 'r2' is a valid region
+ *
+ * Returns:
+ * < 0 if r1 is lexicographicly less than r2
+ * = 0 if r1 is lexicographicly identical to r2
+ * > 0 if r1 is lexicographicly greater than r2
+ */
ISC_LANG_ENDDECLS