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; +}