int cch_dest = 0;
cm_normchar_t * r;
+ if (s == NULL || cch_src == 0 || *s == L'\0') {
+ if (pcch_dest)
+ *pcch_dest = ((cch_src != 0)? 1: 0);
+ return wcsdup(L"");
+ }
+
r = NormalizeUtf16String(s, cch_src, NULL, &cch_dest);
if (pcch_dest)
int cch_dest;
cm_utf8char_t * dest;
+ if (s == NULL || cch_src == 0 || *s == L'\0') {
+ if (pcch_dest)
+ *pcch_dest = ((cch_src != 0)?1:0);
+ return strdup("");
+ }
+
cch_dest = WideCharToMultiByte(CP_UTF8, 0, s, cch_src, NULL, 0, NULL, FALSE);
if (cch_dest == 0) {
/* Get some edge cases out first, so we don't have to worry about
cch_src being 0 etc. */
- if (cch_src == 0) {
- return NULL;
- } else if (*src == '\0') {
+ if (cch_src == 0 || src == NULL || *src == '\0') {
+ if (pcch_dest)
+ *pcch_dest = ((cch_src != 0)? 1 : 0);
return wcsdup(L"");
}
cm_unichar_t * ustr = NULL;
int cch;
+ if (cch_src == 0 || src == NULL || *src == '\0') {
+ if (pcch_dest)
+ *pcch_dest = ((cch_src != 0)? 1 : 0);
+ return wcsdup(L"");
+ }
+
if (cch_src == -1) {
cch_src = strlen(src) + 1;
}
*/
- fnamep = cm_ClientStringToFsStringAlloc(namep, cm_ClientStrLen(namep), NULL);
+ fnamep = cm_ClientStringToFsStringAlloc(namep, -1, NULL);
cp = fnamep + CM_PREFIX_VOL_CCH; /* cp points to cell name, hopefully */
tp = cm_FsStrChr(cp, '%');
if (tp == NULL)
rw = 1;
}
/* Get the full name for this cell */
- cellname = cm_ClientStringToFsStringAlloc(p, cm_ClientStrLen(p), NULL);
+ cellname = cm_ClientStringToFsStringAlloc(p, -1, NULL);
code = cm_SearchCellFile(cellname, ftemp, 0, 0);
#ifdef AFS_AFSDB_ENV
if (code && cm_dnsEnabled) {