Author: vlendec Date: 2006-08-02 09:32:18 +0000 (Wed, 02 Aug 2006) New Revision: 17375
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17375 Log: If a field containts only whitespace, we need to do base64 as well. Volker Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c Changeset: Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c =================================================================== --- branches/SAMBA_3_0/source/utils/net_rpc_samsync.c 2006-08-02 08:53:22 UTC (rev 17374) +++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c 2006-08-02 09:32:18 UTC (rev 17375) @@ -1433,6 +1433,7 @@ va_list ap; char *value, *p, *base64; DATA_BLOB base64_blob; + BOOL do_base64 = False; int res; va_start(ap, fmt); @@ -1443,12 +1444,29 @@ for (p=value; *p; p++) { if (*p & 0x80) { + do_base64 = True; break; } } - if (*p == 0) { - /* Found no high bit set */ + if (!do_base64) { + BOOL only_whitespace = True; + for (p=value; *p; p++) { + /* + * I know that this not multibyte safe, but we break + * on the first non-whitespace character anyway. + */ + if (!isspace(*p)) { + only_whitespace = False; + break; + } + } + if (only_whitespace) { + do_base64 = True; + } + } + + if (!do_base64) { res = fprintf(add_fd, "%s: %s\n", attr_name, value); TALLOC_FREE(value); return res;
