File: utils.c

package info (click to toggle)
ghc 9.10.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 168,924 kB
  • sloc: haskell: 713,548; ansic: 84,223; cpp: 30,255; javascript: 9,003; sh: 7,870; fortran: 3,527; python: 3,228; asm: 2,523; makefile: 2,326; yacc: 1,570; lisp: 532; xml: 196; perl: 111; csh: 2
file content (21 lines) | stat: -rw-r--r-- 622 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Copyright (c) 2021 Andrew Lelechenko <andrew.lelechenko@gmail.com>
 */

#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>

/* Changed name to disambiguate from _hs_text_memcmp,
   which could be present in system-wide headers from installed ghc package */
int _hs_text_memcmp2(const void *arr1, size_t off1, const void *arr2, size_t off2, size_t len)
{
  return memcmp(arr1 + off1, arr2 + off2, len);
}

ssize_t _hs_text_memchr(const void *arr, size_t off, size_t len, uint8_t byte)
{
  const void *ptr = memchr(arr + off, byte, len);
  return ptr == NULL ? -1 : ptr - (arr + off);
}