diff mupdf-source/thirdparty/jbig2dec/memcmp.c @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/thirdparty/jbig2dec/memcmp.c	Mon Sep 15 11:43:07 2025 +0200
@@ -0,0 +1,54 @@
+/* Copyright (C) 2001-2023 Artifex Software, Inc.
+   All Rights Reserved.
+
+   This software is provided AS-IS with no warranty, either express or
+   implied.
+
+   This software is distributed under license and may not be copied,
+   modified or distributed except as expressly authorized under the terms
+   of the license contained in the file LICENSE in this distribution.
+
+   Refer to licensing information at http://www.artifex.com or contact
+   Artifex Software, Inc.,  39 Mesa Street, Suite 108A, San Francisco,
+   CA 94129, USA, for further information.
+*/
+
+/*
+    jbig2dec
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stddef.h>
+
+/* replacement for broken memcmp() */
+
+/*
+ * compares two byte strings 'a' and 'b', both assumed to be 'len' bytes long
+ * returns zero if the two strings are identical, otherwise returns -1 or 1
+ * depending on the relative magnitude of the first differing elements,
+ * considered as unsigned chars
+ */
+
+int
+memcmp(const void *b1, const void *b2, size_t len)
+{
+    unsigned char *a, *b;
+    size_t i;
+
+    a = (unsigned char *)b1;
+    b = (unsigned char *)b2;
+    for (i = 0; i < len; i++) {
+        if (*a != *b) {
+            /* strings differ */
+            return (*a < *b) ? -1 : 1;
+        }
+        a++;
+        b++;
+    }
+
+    /* strings match */
+    return 0;
+}