From ef2f112f6a5ca3c609307f275faabfa771f8eb22 Mon Sep 17 00:00:00 2001 From: Jose Marcial Vieira Bisneto Date: Thu, 24 Nov 2016 09:50:05 -0300 Subject: [PATCH] Initial implementation of namesys/proquint --- include/ipfs/namesys/namesys.h | 2 ++ namesys/proquint.c | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 namesys/proquint.c diff --git a/include/ipfs/namesys/namesys.h b/include/ipfs/namesys/namesys.h index 4d9581d..cea78de 100644 --- a/include/ipfs/namesys/namesys.h +++ b/include/ipfs/namesys/namesys.h @@ -56,4 +56,6 @@ int resolveOnce (char **path, char *name); int Publish (char *proto, ciPrivKey name, char *value); int PublishWithEOL (char *proto, ciPrivKey name, char *value, time_t eol); + + int ProquintResolveOnce (char **p, char *name); #endif //NAMESYS_H diff --git a/namesys/proquint.c b/namesys/proquint.c new file mode 100644 index 0000000..a68f90f --- /dev/null +++ b/namesys/proquint.c @@ -0,0 +1,18 @@ +#include +#include "ipfs/namesys/namesys.h" +#include "ipfs/cid/cid.h" +#include "ipfs/path/path.h" + +// resolveOnce implements resolver. Decodes the proquint string. +int ProquintResolveOnce (char **p, char *name) +{ + int err = proquintIsProquint(name); + + if (err) { + *p = NULL; + err = ErrInvalidProquint; + } else { + err = pathFromString(p, proquintDecode(name)); + } + return err; +}