/** * call-seq: * uc.unregister("/someuri") * * Yep, just removes this uri and it's handler from the trie. */ VALUE URIClassifier_unregister(VALUE self, VALUE uri) { void *handler = NULL; struct tst *tst = NULL; DATA_GET(self, struct tst, tst); handler = tst_delete((unsigned char *)StringValueCStr(uri), tst); if(handler) { rb_hash_delete(rb_ivar_get(self, id_handler_map), uri); return (VALUE)handler; } else { return Qnil; } }