#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv) {
char str[] = "Foo: bar\n"; /* you have the header already */
size_t len
= strlen(str
); /* and it's length */
char *split
= strchr(str
, ':');
if (split) {
char *key
= malloc(split
- str
+ 1);
memcpy(key
, str
, split
- str
);
key[split - str] = 0;
char *value
= malloc(len
- (split
- str
) + 1);
memcpy(value
, &str
[split
- str
+ 1], len
- (split
- str
));
value[len - (split - str)] = 0;
printf("Second: %s\n", value
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewoJY2hhciBzdHJbXSA9ICJGb286IGJhclxuIjsgLyogeW91IGhhdmUgdGhlIGhlYWRlciBhbHJlYWR5ICovCglzaXplX3QgbGVuID0gc3RybGVuKHN0cik7ICAvKiBhbmQgaXQncyBsZW5ndGggKi8KCgljaGFyICpzcGxpdCA9IHN0cmNocihzdHIsICc6Jyk7CgkKCWlmIChzcGxpdCkgewoJCWNoYXIgKmtleSA9IG1hbGxvYyhzcGxpdCAtIHN0ciArIDEpOwoKCQltZW1jcHkoa2V5LCBzdHIsIHNwbGl0IC0gc3RyKTsKCgkJa2V5W3NwbGl0IC0gc3RyXSA9IDA7CgoJCXByaW50ZigiRmlyc3Q6ICVzXG4iLCBrZXkpOwoKCQljaGFyICp2YWx1ZSA9IG1hbGxvYyhsZW4gLSAoc3BsaXQgLSBzdHIpICsgMSk7CgoJCW1lbWNweSh2YWx1ZSwgJnN0cltzcGxpdCAtIHN0ciArIDFdLCBsZW4gLSAoc3BsaXQgLSBzdHIpKTsKCgkJdmFsdWVbbGVuIC0gKHNwbGl0IC0gc3RyKV0gPSAwOwoKCQlwcmludGYoIlNlY29uZDogJXNcbiIsIHZhbHVlKTsKCX0JCgoJcmV0dXJuIDA7Cn0=