[PATCH v4 0/4] mem: extend with a few additional helpers similar to existing string-only functions

Cody P Schafer <[email protected]>
Newsgroups org.ozlabs.lists.ccan
Message-ID <[email protected]>
since v3:

 - fix memeq() return value
 - add memends_str() helper

since v2:

 - switch all the macros to static inline to avoid multiple evaluations of args
 - add patch adding PURE_FUNCTION attributes

since v1:

 - drop a patch that David pulled in
 - add extra macro parens
 - add blank lines after defintions
 - covert memcchr's while loop to a for.
 - change examples for mempbrkm and mempbrk to use '\0' in places
 - fix spelling
 - use memeq() even where we know the mem lengths are equal in memstarts()
 - add a reviewed-by to the 2nd patch, no other changes to that patch.

--

This is essentially a rebased version of a patch I sent out quite some time ago.

At the time, David indicated that it would probably make sense for bytestring
to call the plain mem-versions of these functions, so I've included a helper to
do that as well (and 1 patch to help ccanlint for bytestring pass a bit better).

The selection of mem* functions is entirely based on which ones I need for some
code I was writing, and they are in no way complete (notably, they include mem
variants of strpbrk instead of strspn variants as used in bytestring). I expect
the missing functions can be added as people find a need for them.


Cody P Schafer (4):
  mem: add mem helper functions
  bytestring: use newly added mem helpers
  mem: mark all functions as PURE
  mem: add memends_str() helper for symmetry

 ccan/bytestring/bytestring.h |   9 +--
 ccan/mem/_info               |   1 +
 ccan/mem/mem.c               |  24 ++++++
 ccan/mem/mem.h               | 185 +++++++++++++++++++++++++++++++++++++++++++
 ccan/mem/test/api.c          |  41 +++++++++-
 5 files changed, 253 insertions(+), 7 deletions(-)

-- 
2.5.1

_______________________________________________
ccan mailing list
[email protected]
https://lists.ozlabs.org/listinfo/ccan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.