Mercurial > projects > qtd
view qt/d2/qt/qtd/Str.d @ 282:256ab6cb8e85
Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
author | eldar |
---|---|
date | Fri, 16 Oct 2009 02:43:59 +0000 |
parents | 34a37904ff77 |
children |
line wrap: on
line source
/** * * Copyright: Copyright QtD Team, 2008-2009 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a> * * Copyright QtD Team, 2008-2009 * Distributed under the Boost Software License, Version 1.0. * (See accompanying file boost-license-1.0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ module qt.qtd.Str; import std.utf : toUTF8; version(D_Version2) { // private import core.sys.posix.stdio; private import core.stdc.string; version = druntime; } alias immutable(char)* stringz; alias const(char)* cstringz; public static char** toStringzArray(string[] args) { if ( args is null ) { return null; } char** argv = (new char*[args.length]).ptr; int argc = 0; foreach (string p; args) { argv[argc++] = cast(char*)(p.dup~'\0'); } argv[argc] = null; return argv; } public string fromStringz(const (char) *s) { return s ? s[0 .. strlen(s)].idup : cast(string)null; } extern(C) void qtd_toUtf8(wchar* arr, uint size, string* str) { *str = toUTF8(arr[0..size]); }