/** * Mime on Fire (mime) -- Simple UPnP server for XBOX360 * Copyright (C) 2009 Robert Fraser * * This program is free software; you can redistribute it andor * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ module mime.util.meta; public char[] ctfeItoa(int n) { bool neg = false; char[] r; if (n < 0) { n = -n; neg = true; } do { r = cast(char)('0' + (n % 10)) ~ r; } while ((n /= 10) > 0); if(neg) r = '-' ~ r; return r; } public bool ctfeStartsWith(char[] haystack, char[] needle) { for(int i = 0; i < needle.length; i++) { if(i >= haystack.length || haystack[i] != needle[i]) return false; } return true; } public char[] ctfeReplace(char[] text, char[] search, char[] rep) { char[] r; int slen = search.length; int tlen = text.length - slen + 1; int lendiff = rep.length - slen; int i = 0; int j = 0; for(i = 0; i < tlen; i++) { if(text[i .. i + slen] == search) { r ~= text[j .. i] ~ rep; i = j = i + slen; } } r ~= text[j .. $]; return r; }