MCPcopy Create free account
hub / github.com/apache/qpid-proton / pni_urldecode

Function pni_urldecode

cpp/src/url.cpp:56–90  ·  view source on GitHub ↗

Low level url parser

Source from the content-addressed store, hash-verified

54
55// Low level url parser
56static void pni_urldecode(const char *src, char *dst)
57{
58 const char *in = src;
59 char *out = dst;
60 while (*in != '\0')
61 {
62 if ('%' == *in)
63 {
64 if ((in[1] != '\0') && (in[2] != '\0'))
65 {
66 char esc[3];
67 esc[0] = in[1];
68 esc[1] = in[2];
69 esc[2] = '\0';
70 unsigned long d = std::strtoul(esc, NULL, 16);
71 *out = (char)d;
72 in += 3;
73 out++;
74 }
75 else
76 {
77 *out = *in;
78 in++;
79 out++;
80 }
81 }
82 else
83 {
84 *out = *in;
85 in++;
86 out++;
87 }
88 }
89 *out = '\0';
90}
91
92void parse_url(char *url, const char **scheme, const char **user, const char **pass, const char **host, const char **port, const char **path)
93{

Callers 1

parse_urlFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected