return this.substring(0, what.length) == what;
}
+String.prototype.endsWith = function(what) {
+ return this.substring(this.length - what.length, this.length) == what;
+};
+
/* NOT cryptographically secure! */
qwebirc.util.randHexString = function(numBytes) {
var getByte = function() {
qwebirc.util.generateID_ID = 0;
qwebirc.util.generateID = function() {
return "qqa-" + qwebirc.util.generateID_ID++;
-}
+};
+
+qwebirc.util.arrayCmp = function(a, b) {
+ for(var p=0;p<a.length;p++) {
+ var ap = a[p];
+ var bp = b[p];
+ if(ap == bp)
+ continue;
+
+ if(ap < bp)
+ return -1;
+
+ return 1;
+ }
+ return 0;
+};
qwebirc.util.__log = function(x) {
if(QWEBIRC_DEBUG) {