/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/** * MODULE NOTES: * @update gess7/30/98 * * Much as I hate to do it, we were using string compares wrong. * Often, programmers call functions like strcmp(s1,s2), and pass * one or more null strings. Rather than blow up on these, I've * added quick checks to ensure that cases like this don't cause * us to fail. * * In general, if you pass a null into any of these string compare * routines, we simply return 0.
*/
/** * Compare unichar string ptrs, stopping at the 1st null * NOTE: If both are null, we return 0. * NOTE: We terminate the search upon encountering a nullptr * * @update gess 11/10/99 * @param s1 and s2 both point to unichar strings * @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
int32_t nsCRT::strcmp(const char16_t* aStr1, const char16_t* aStr2) { if (aStr1 && aStr2) { for (;;) {
char16_t c1 = *aStr1++;
char16_t c2 = *aStr2++; if (c1 != c2) { if (c1 < c2) { return -1;
} return 1;
} if (c1 == 0 || c2 == 0) { break;
}
}
} else { if (aStr1) { // aStr2 must have been null return -1;
} if (aStr2) { // aStr1 must have been null return 1;
}
} return 0;
}
// This should use NSPR but NSPR isn't exporting its PR_strtoll function // Until then...
int64_t nsCRT::atoll(constchar* aStr) { if (!aStr) { return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.