Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: LM75B M2XStreamClient jsonlite mbed-rtos mbed Nucleo_Sensor_Shield
Fork of m2x-seeed_ethernet_demo by
WIZnet_Library/WIZnetInterface/DNSClient/dnsname.h
- Committer:
- dangriffin
- Date:
- 2014-12-17
- Revision:
- 11:40d8cfc941ed
- Parent:
- 7:a94ba2e0cd04
File content as of revision 11:40d8cfc941ed:
// dnsname.h 2013/8/27
#pragma once
//#include <string>
#include "pico_string.h"
class dnsname {
public:
uint8_t *buf;
pico_string str;
dnsname(uint8_t *s) {
buf = s;
}
int decode(int pos) {
while(1) {
int len = buf[pos++];
if (len == 0x00) {
break;
}
if ((len&0xc0) == 0xc0) { //compress
int offset = (len&0x3f)<<8|buf[pos];
decode(offset);
return pos+1;
}
if (!str.empty()) {
str.append(".");
}
str.append((const char*)(buf+pos), len);
pos += len;
}
return pos;
}
int encode(int pos, char* s) {
while(*s) {
char *f = strchr(s, '.');
if (f == NULL) {
int len = strlen(s);
buf[pos++] = len;
memcpy(buf+pos, s, len);
pos += len;
break;
}
int len = f - s;
buf[pos++] = len;
memcpy(buf+pos, s, len);
s = f+1;
pos += len;
}
buf[pos++] = 0x00;
return pos;
}
};
