@@ -183,7 +183,7 @@ memcached_send_meta(memcached_st *ptr, memcached_instance_st *instance,
183
183
time_t expiration, uint32_t flags, uint64_t cas,
184
184
bool flush, memcached_storage_action_t verb) {
185
185
static const char modes[] = " SREPAS" ;
186
- char fl_buf[32 ] = " F" , cs_buf[32 ] = " C" , ex_buf[32 ] = " T" , sz_buf[32 ] = " S " ;
186
+ char fl_buf[32 ] = " F" , cs_buf[32 ] = " C" , ex_buf[32 ] = " T" , sz_buf[32 ] = " " ;
187
187
size_t io_num = 0 , fl_len = strlen (fl_buf), cs_len = strlen (cs_buf), ex_len = strlen (ex_buf), sz_len = strlen (sz_buf);
188
188
libmemcached_io_vector_st io_vec[16 ] = {};
189
189
@@ -192,6 +192,9 @@ memcached_send_meta(memcached_st *ptr, memcached_instance_st *instance,
192
192
memcached_array_size (ptr->_namespace )};
193
193
io_vec[io_num++] = {key, key_len};
194
194
195
+ sz_len += snprintf (sz_buf + sz_len, sizeof (sz_buf) - sz_len, " %" PRIu64, (uint64_t ) val_len);
196
+ io_vec[io_num++] = {sz_buf, sz_len};
197
+
195
198
if (verb != SET_OP) {
196
199
io_vec[io_num++] = {memcached_literal_param (" M" )};
197
200
io_vec[io_num++] = {&modes[verb], 1 };
@@ -213,8 +216,6 @@ memcached_send_meta(memcached_st *ptr, memcached_instance_st *instance,
213
216
}
214
217
215
218
/* we have to send a data block even if it's empty, else memcached errors out with ITEM TOO BIG */
216
- sz_len += snprintf (sz_buf + sz_len, sizeof (sz_buf) - sz_len, " %" PRIu64, (uint64_t ) val_len);
217
- io_vec[io_num++] = {sz_buf, sz_len};
218
219
io_vec[io_num++] = {memcached_literal_param (" \r\n " )};
219
220
io_vec[io_num++] = {val, val_len};
220
221
io_vec[io_num++] = {memcached_literal_param (" \r\n " )};
0 commit comments