[dovecot-cvs] dovecot/src/lib temp-string.c,1.7,1.8 temp-string.h,1.3,1.4
cras at procontrol.fi
cras at procontrol.fi
Fri Dec 20 06:43:13 EET 2002
- Previous message: [dovecot-cvs] dovecot/src/master imap-process.c,1.17,1.18 main.c,1.21,1.22 settings.c,1.32,1.33 settings.h,1.17,1.18
- Next message: [dovecot-cvs] dovecot dovecot-example.conf,1.26,1.27
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/dovecot/src/lib
In directory danu:/tmp/cvs-serv8286/src/lib
Modified Files:
temp-string.c temp-string.h
Log Message:
t_string_append_n() should specify the maximum length for given string,
which may be shorter than that.
Index: temp-string.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib/temp-string.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- temp-string.c 18 Dec 2002 15:15:41 -0000 1.7
+++ temp-string.c 20 Dec 2002 04:43:11 -0000 1.8
@@ -85,17 +85,23 @@
/* Append string/character */
void t_string_append(TempString *tstr, const char *str)
{
- t_string_append_n(tstr, str, strlen(str));
+ t_string_append_n(tstr, str, SSIZE_T_MAX-1);
}
-void t_string_append_n(TempString *tstr, const char *str, size_t size)
+void t_string_append_n(TempString *tstr, const char *str, size_t max_len)
{
- i_assert(size < SSIZE_T_MAX);
+ size_t len;
- t_string_inc(tstr, size);
- memcpy(tstr->str + tstr->len, str, size);
+ i_assert(max_len < SSIZE_T_MAX);
- tstr->len += size;
+ len = 0;
+ while (len < max_len && str[len] != '\0')
+ len++;
+
+ t_string_inc(tstr, len);
+ memcpy(tstr->str + tstr->len, str, len);
+
+ tstr->len += len;
tstr->str[tstr->len] = '\0';
}
Index: temp-string.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib/temp-string.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- temp-string.h 9 Oct 2002 17:49:41 -0000 1.3
+++ temp-string.h 20 Dec 2002 04:43:11 -0000 1.4
@@ -13,7 +13,7 @@
/* Append string/character */
void t_string_append(TempString *tstr, const char *str);
-void t_string_append_n(TempString *tstr, const char *str, size_t size);
+void t_string_append_n(TempString *tstr, const char *str, size_t max_len);
void t_string_append_c(TempString *tstr, char chr);
/* Append printf()-like data */
- Previous message: [dovecot-cvs] dovecot/src/master imap-process.c,1.17,1.18 main.c,1.21,1.22 settings.c,1.32,1.33 settings.h,1.17,1.18
- Next message: [dovecot-cvs] dovecot dovecot-example.conf,1.26,1.27
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list