MCPcopy Create free account
hub / github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource / url_encode

Function url_encode

webrtc/base/stringencode.cc:143–167  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

141};
142
143size_t url_encode(char * buffer, size_t buflen,
144 const char * source, size_t srclen) {
145 if (NULL == buffer)
146 return srclen * 3 + 1;
147 if (buflen <= 0)
148 return 0;
149
150 size_t srcpos = 0, bufpos = 0;
151 while ((srcpos < srclen) && (bufpos + 1 < buflen)) {
152 unsigned char ch = source[srcpos++];
153 if ((ch < 128) && (ASCII_CLASS[ch] & URL_UNSAFE)) {
154 if (bufpos + 3 >= buflen) {
155 break;
156 }
157 buffer[bufpos+0] = '%';
158 buffer[bufpos+1] = hex_encode((ch >> 4) & 0xF);
159 buffer[bufpos+2] = hex_encode((ch ) & 0xF);
160 bufpos += 3;
161 } else {
162 buffer[bufpos++] = ch;
163 }
164 }
165 buffer[bufpos] = '\0';
166 return bufpos;
167}
168
169size_t url_decode(char * buffer, size_t buflen,
170 const char * source, size_t srclen) {

Callers

nothing calls this directly

Calls 1

hex_encodeFunction · 0.85

Tested by

no test coverage detected