case 15:
serv_info.serv_newuser_disabled = atoi(buf);
break;
+ case 16:
+ safestrncpy(serv_info.serv_default_cal_zone, buf, sizeof serv_info.serv_default_cal_zone);
+ break;
+ case 19:
+ serv_info.serv_supports_sieve = atoi(buf);
+ break;
}
++a;
}
void text_to_server(char *ptr)
{
char buf[256];
- int ch, a, pos;
+ int ch, a, pos, len;
pos = 0;
buf[0] = 0;
while (ptr[pos] != 0) {
ch = ptr[pos++];
if (ch == 10) {
- while ( (isspace(buf[strlen(buf) - 1]))
- && (strlen(buf) > 1) )
- buf[strlen(buf) - 1] = 0;
+ len = strlen(buf);
+ while ( (isspace(buf[len - 1]))
+ && (buf[0] != '\0')
+ && (buf[1] != '\0') )
+ buf[--len] = 0;
serv_puts(buf);
buf[0] = 0;
if (ptr[pos] != 0) strcat(buf, " ");
/* hard line break */
if (output_len > 0) {
if (isspace(buf[output_len-1])) {
- sprintf(&buf[output_len-1], "=%02X", buf[output_len-1]);
+ sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
output_len += 2;
}
}
buf[output_len++] = 0;
- serv_puts(buf);
+ serv_puts((char *)buf);
output_len = 0;
}
else if (ch == 9) {
buf[output_len++] = ch;
}
else {
- sprintf(&buf[output_len], "=%02X", ch);
+ sprintf((char *)&buf[output_len], "=%02X", ch);
output_len += 3;
}
if (output_len > 72) {
/* soft line break */
if (isspace(buf[output_len-1])) {
- sprintf(&buf[output_len-1], "=%02X", buf[output_len-1]);
+ sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
output_len += 2;
}
buf[output_len++] = '=';
buf[output_len++] = 0;
- serv_puts(buf);
+ serv_puts((char *)buf);
output_len = 0;
}
}
/* end of data - transmit anything that's left */
if (output_len > 0) {
if (isspace(buf[output_len-1])) {
- sprintf(&buf[output_len-1], "=%02X", buf[output_len-1]);
+ sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
output_len += 2;
}
buf[output_len++] = 0;
- serv_puts(buf);
+ serv_puts((char *)buf);
output_len = 0;
}
}