On Sat, 2017-07-22 at 09:54 +0000, Juergen Gnoss wrote: > Problem: zsock_brecv documentation > > There was an issue on Dec 2015 #1223 > > https://github.com/zeromq/czmq/issues/1223 > > and it has been fixed > > actual documentation says > > // Note that zsock_brecv creates the returned objects, and the caller > must > > // destroy them when finished with them. > > OK that's clear if it is clear what an object is. > > // c zchunk_t * type = "chunk" > // f zframe_t * type = "frame" > // u zuuid_t * type = "uuid" > // m zmsg_t * type = "msg" > > could be easy identified as objects > > but what's about > > // s char *, 0-255 chars type = "string" > // S char *, 0-2^32-1 chars type = "longstr" > > a longstr I have to free, a string not > > if I try to destroy a string valgrind complains with > > Invalid free() / delete / delete[] / realloc() > > ‘’’c > > int res = 0; > char *data; > char *cmd; > > > res = zsock_brecv(self->workerClient, "sS", &cmd, &data); > if (res != 0) { > fprintf(stderr, "error receive msg from worker server\n%s\n", > zmq_strerror (errno)); > } else { > do something with cmd and data > } > if (cmd != NULL) { > free(cmd); > } > if (data != NULL) { > free(data); > } > > > ‘’’ > > Am I the only one running into that trap? > > Ju
Yes it was a bit wrong and confusing. I've now updated the documentation: https://github.com/zeromq/czmq/pull/1712 -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
