Browse Source

Add the function memfind. It'll be used by iobuf.

master
Richard Nyberg 16 years ago
parent
commit
186113e4ee
2 changed files with 17 additions and 0 deletions
  1. +15
    -0
      misc/subr.c
  2. +2
    -0
      misc/subr.h

+ 15
- 0
misc/subr.c View File

@@ -13,6 +13,21 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>


void *
memfind(const void *sub, size_t sublen, const void *mem, size_t memlen)
{
size_t i, j;
const uint8_t *s = sub, *m = mem;
for (i = 0; i < memlen - sublen + 1; i++) {
for (j = 0; j < sublen; j++)
if (m[i+j] != s[j])
break;
if (j == sublen)
return (void *)(m + i);
}
return NULL;
}

void void
enc_be32(void *buf, uint32_t num) enc_be32(void *buf, uint32_t num)
{ {


+ 2
- 0
misc/subr.h View File

@@ -9,6 +9,8 @@


#define SHAHEXSIZE 41 #define SHAHEXSIZE 41


void *memfind(const void *sub, size_t sublen, const void *mem, size_t memlen);

uint32_t dec_be32(const void *buf); uint32_t dec_be32(const void *buf);
uint64_t dec_be64(const void *buf); uint64_t dec_be64(const void *buf);
void enc_be32(void *buf, uint32_t num); void enc_be32(void *buf, uint32_t num);


Loading…
Cancel
Save