2 * © 2008 by David ‘Bombe’ Roden <bombe@pterodactylus.net>
10 static int getDigits(size_t number) {
19 ED2KLink::ED2KLink(const char* filename, const size_t size, const void* hash) {
20 this->filename = (char*) malloc(strlen(filename));
21 this->hash = malloc(16);
23 strcpy(this->filename, filename);
24 memcpy(this->hash, hash, 16);
27 this->link = (char*) calloc(13 + (strlen(filename) + 1) + 1 + getDigits(size) + 1 + 32 + 2, 1);
28 sprintf(this->link, "ed2k://|file|%s|%u|", filename, size);
29 for (int i = 0; i < 16; i++) {
30 sprintf(this->link + strlen(this->link), "%02x", *((int*) this->hash + i));
32 sprintf(this->link + strlen(this->link), "|/");
35 ED2KLink::~ED2KLink() {
47 const char* ED2KLink::getLink() {
51 const char* ED2KLink::getFilename() {
52 return this->filename;
55 const size_t ED2KLink::getSize() {
59 const void* ED2KLink::getHash() {