File: utils.c

package info (click to toggle)
ghc 9.6.6-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 158,216 kB
  • sloc: haskell: 648,228; ansic: 81,656; cpp: 11,808; javascript: 8,444; sh: 5,831; fortran: 3,527; python: 3,277; asm: 2,523; makefile: 2,298; yacc: 1,570; lisp: 532; xml: 196; perl: 145; csh: 2
file content (21 lines) | stat: -rw-r--r-- 622 bytes parent folder | download | duplicates (3)
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);
}