Skip to content

Instantly share code, notes, and snippets.

View nmaier's full-sized avatar
😨
I may be slow to respond.

Nils Maier nmaier

😨
I may be slow to respond.
View GitHub Profile

Alright then, lets start with copy array a into b, by reusing and modifying memset.

function memcpy(dst, src, size) {
  for (var i = 0; i < size; ++i) {
    dst[i] = src[i];
  }
} 

Now, thats nice, but does not actually make sure that the arrays have the same CType, better add a check for that.

function install() {}
function uninstall() {
Components.utils.reportError("uninstall!");
}
function startup() {
Components.utils.reportError("startup!");
}
function shutdown() {
function uninstall() {
Components.utils.reportError("uninstall!");
}
function startup() {
Components.utils.reportError("startup!");
}
function shutdown() {
Components.utils.reportError("shutdown!");
}
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
package nmaier.so_der;
public class Program {
static class Piece {}
static class Man extends Piece{}
static class Square {
private Piece p_;
public Square(Piece p) {
p_ = p;
}
const {Cc, Ci, Cu} = require("chrome");
const {notify} = require("sdk/notifications");
const {Widget} = require("sdk/widget");
const {Downloads} = Cu.import("resource://gre/modules/Downloads.jsm", {});
const {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
function download() {
Task.spawn(function() {
@nmaier
nmaier / scratchpad.js
Created July 29, 2013 20:23
hidden about:s
var abouts = (function({classes: Cc, interfaces: Ci, utils: Cu}) {
const {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
return Object.keys(Cc).map(function(e) {
var m = e.match(/about;1\?what=(.+)$/);
if (!m)
return null;
m = "about:" + m[1];
var s = Cc[e].getService(Ci.nsIAboutModule);
if (!(s.getURIFlags(Services.io.newURI(m, null, null)) &
Ci.nsIAboutModule.HIDE_FROM_ABOUTABOUT))
@nmaier
nmaier / gist:5111547
Created March 7, 2013 20:29
All your addon are belong to us
Main Process
User Compartments
about:blank [3]
about:blank, [anonymous sandbox] (from: resource://jid0-zahxu5e9sjk6vvq8up9tqpnlwuk-at-jetpack/api-utils/lib/loader.js -> resource://jid0-zahxu5e9sjk6vvq8up9tqpnlwuk-at-jetpack/api-utils/lib/sandbox.js:18) [4]
null-principal
System Compartments
[System Principal], [anonymous sandbox] (from: resource://gre/modules/XPIProvider.jsm -> jar:file:///Users/maierman/dev/central.p/extensions/jid0-NgMDcEu2B88AbzZ6ulHodW9sJzA@jetpack.xpi!/bootstrap.js:202) [2]
[System Principal], about:addons [2]
// Create a namespace so as not to polute the global namespace
if(!com) var com={};
if(!com.morac) com.morac={};
if(!com.morac.SessionManagerAddon) com.morac.SessionManagerAddon={};
// import into the namespace
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
XPCOMUtils.defineLazyServiceGetter(this, "secret_decoder_ring_service", "@mozilla.org/security/sdr;1", "nsISecretDecoderRing");
@nmaier
nmaier / bootstrap.js
Created January 2, 2013 23:44
experimental subskin bootstrapper (noia extreme version)
/* 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/. */
/* The original author is: Nils Maier <https://tn123.org/> */
"use strict";
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");