summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-10-29 23:00:13 +0000
committerGreg Hudson <ghudson@mit.edu>2009-10-29 23:00:13 +0000
commitcb01682747845d1852c82c0d567765b6babd70e8 (patch)
tree13bc97da6c33683cc1038921c530144132aa46c3 /src/include
parent3ba4b0893874ad835ccdad8b35c7e1ff62f9ecdd (diff)
downloadkrb5-cb01682747845d1852c82c0d567765b6babd70e8.tar.gz
krb5-cb01682747845d1852c82c0d567765b6babd70e8.tar.xz
krb5-cb01682747845d1852c82c0d567765b6babd70e8.zip
Add a couple of krb5_data convenience constructor functions, to
facilitate properly initializing krb5_data objects. Adjust formatting of the existing krb5_data convenience functions and remove the #if 0 block. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23092 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include')
-rw-r--r--src/include/k5-int.h45
1 files changed, 26 insertions, 19 deletions
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index e6f84562e..f6f091fcc 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -2952,37 +2952,44 @@ krb5int_build_principal_alloc_va(krb5_context context,
va_list ap);
/* Some data comparison and conversion functions. */
-#if 0
-static inline int data_cmp(krb5_data d1, krb5_data d2)
-{
- if (d1.length < d2.length) return -1;
- if (d1.length > d2.length) return 1;
- return memcmp(d1.data, d2.data, d1.length);
-}
-static inline int data_eq (krb5_data d1, krb5_data d2)
-{
- return data_cmp(d1, d2) == 0;
-}
-#else
-static inline int data_eq (krb5_data d1, krb5_data d2)
+static inline int
+data_eq(krb5_data d1, krb5_data d2)
{
return (d1.length == d2.length
&& !memcmp(d1.data, d2.data, d1.length));
}
-#endif
-static inline krb5_data string2data (char *str)
+
+static inline krb5_data
+make_data(void *data, unsigned int len)
{
krb5_data d;
+
d.magic = KV5M_DATA;
- d.length = strlen(str);
- d.data = str;
+ d.data = data;
+ d.length = len;
return d;
}
-static inline int data_eq_string (krb5_data d, char *s)
+
+static inline krb5_data
+empty_data()
+{
+ return make_data(NULL, 0);
+}
+
+static inline krb5_data
+string2data(char *str)
+{
+ return make_data(str, strlen(str));
+}
+
+static inline int
+data_eq_string (krb5_data d, char *s)
{
return data_eq(d, string2data(s));
}
-static inline int authdata_eq (krb5_authdata a1, krb5_authdata a2)
+
+static inline int
+authdata_eq(krb5_authdata a1, krb5_authdata a2)
{
return (a1.ad_type == a2.ad_type
&& a1.length == a2.length