Exemplo n.º 1
0
/* printkeys: print key-value pairs, escaping values */
static const char *printkeys(const imc_data * data) {
    char *buf = imc_getsbuf(IMC_DATA_LENGTH);
    char temp[IMC_DATA_LENGTH];
    int len = 0;
    int i;
    buf[0] = 0;
    for(i = 0; i < IMC_MAX_KEYS; i++) {
        if(!data->key[i]) {
            continue;
        }
        imc_sncpy(buf + len, data->key[i], IMC_DATA_LENGTH - len - 1);
        strcat(buf, "=");
        len = strlen(buf);
        if(!strchr(data->value[i], ' ')) {
            imc_sncpy(temp, escape2(data->value[i]), IMC_DATA_LENGTH - 1);
        } else {
            temp[0] = '"';
            imc_sncpy(temp + 1, escape2(data->value[i]), IMC_DATA_LENGTH - 3);
            strcat(temp, "\"");
        }
        strcat(temp, " ");
        imc_sncpy(buf + len, temp, IMC_DATA_LENGTH - len);
        len = strlen(buf);
    }
    imc_shrinksbuf(buf);
    return buf;
}
Exemplo n.º 2
0
int main()
{
	char str1[100];
	char str2[] = "Hallo	klappt das?\nVielleicht?";
	char str3[] = "Test\\n\\tzwei";
	escape(str1, str2);
	printf("Str2: \n%s\n", str2);
	printf("Str1: \n%s\n", str1);
	printf("Str3: \n%s\n", str3);
	escape2(str1, str3);
	printf("Str1: \n%s", str1);
	return 0;
}