svn commit: samba r1820 - in branches/SAMBA_4_0/source: lib
torture/raw
tridge at samba.org
tridge at samba.org
Sat Aug 14 05:57:43 GMT 2004
Author: tridge
Date: 2004-08-14 05:57:43 +0000 (Sat, 14 Aug 2004)
New Revision: 1820
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source&rev=1820&nolog=1
Log:
added a strcmp_safe() that handles NULL pointers. Needed for the
search torture test, as some servers return really bad entries.
Modified:
branches/SAMBA_4_0/source/lib/util_str.c
branches/SAMBA_4_0/source/torture/raw/search.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/util_str.c
===================================================================
--- branches/SAMBA_4_0/source/lib/util_str.c 2004-08-14 05:56:12 UTC (rev 1819)
+++ branches/SAMBA_4_0/source/lib/util_str.c 2004-08-14 05:57:43 UTC (rev 1820)
@@ -1464,3 +1464,18 @@
return True;
}
+
+
+/*
+ varient of strcmp() that handles NULL ptrs
+*/
+int strcmp_safe(const char *s1, const char *s2)
+{
+ if (s1 == s2) {
+ return 0;
+ }
+ if (s1 == NULL || s2 == NULL) {
+ return s1?-1:1;
+ }
+ return strcmp(s1, s2);
+}
Modified: branches/SAMBA_4_0/source/torture/raw/search.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/search.c 2004-08-14 05:56:12 UTC (rev 1819)
+++ branches/SAMBA_4_0/source/torture/raw/search.c 2004-08-14 05:57:43 UTC (rev 1820)
@@ -512,27 +512,27 @@
static int search_both_compare(union smb_search_data *d1, union smb_search_data *d2)
{
- return strcmp(d1->both_directory_info.name.s, d2->both_directory_info.name.s);
+ return strcmp_safe(d1->both_directory_info.name.s, d2->both_directory_info.name.s);
}
static int search_standard_compare(union smb_search_data *d1, union smb_search_data *d2)
{
- return strcmp(d1->standard.name.s, d2->standard.name.s);
+ return strcmp_safe(d1->standard.name.s, d2->standard.name.s);
}
static int search_ea_size_compare(union smb_search_data *d1, union smb_search_data *d2)
{
- return strcmp(d1->ea_size.name.s, d2->ea_size.name.s);
+ return strcmp_safe(d1->ea_size.name.s, d2->ea_size.name.s);
}
static int search_directory_info_compare(union smb_search_data *d1, union smb_search_data *d2)
{
- return strcmp(d1->directory_info.name.s, d2->directory_info.name.s);
+ return strcmp_safe(d1->directory_info.name.s, d2->directory_info.name.s);
}
static int search_old_compare(union smb_search_data *d1, union smb_search_data *d2)
{
- return strcmp(d1->search.name, d2->search.name);
+ return strcmp_safe(d1->search.name, d2->search.name);
}
More information about the samba-cvs
mailing list