Mercurial > projects > ldc
view runtime/internal/util/string.d @ 443:44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Reworked the LLVMDC specific pragmas.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Fri, 01 Aug 2008 00:32:06 +0200 |
parents | |
children | ecb429ee0648 |
line wrap: on
line source
/******************************************************************************* copyright: Copyright (c) 2004 Tango group. All rights reserved license: BSD style: $(LICENSE) version: Initial release: July 2006 Various char[] utilities *******************************************************************************/ module util.string; private import tango.stdc.string; // convert uint to char[], within the given buffer // Returns a valid slice of the populated buffer char[] intToUtf8 (char[] tmp, size_t val) in { assert (tmp.length > 20, "atoi buffer should be 20 or more chars wide"); } body { char* p = tmp.ptr + tmp.length; do { *--p = (val % 10) + '0'; } while (val /= 10); return tmp [cast(size_t)(p - tmp.ptr) .. $]; } // function to compare two strings int stringCompare (char[] s1, char[] s2) { auto len = s1.length; if (s2.length < len) len = s2.length; int result = memcmp(s1.ptr, s2.ptr, len); if (result == 0) result = cast(int)s1.length - cast(int)s2.length; return result; }