commit - a99d1d3784eebf2400653df97968a5584f1e20d8
commit + 074798ed626bafae8efcea1413bf3f9571338d70
blob - 93cec31601524a80bbd3daeb1c92b6551f3cad53
blob + a8dc82399ae04425657d6b38ea7d34122bda06b6
--- CMakeLists.txt
+++ CMakeLists.txt
)
if ((${CMAKE_SYSTEM_NAME} STREQUAL "Darwin"))
- add_library(flint ${SOURCES} src/macos.c)
+ add_library(flint ${SOURCES} src/macos/macos.c)
else()
add_library(flint ${SOURCES})
endif()
blob - d0cfea920978a4bc0a5254e3bcb8d94bbd0dbc88
blob + f907d6e7a4c6e2704272a6de3579879d28511185
--- src/crypto.c
+++ src/crypto.c
typedef struct {
unsigned char *ptr;
- int count;
+ size_t count;
} b64_buf;
static int new_b64_buf(b64_buf *b) {
unsigned char *hex_decode(const char *orig, size_t *sz) {
size_t buf_sz = strlen(orig) + 1;
- char *sptr = orig;
+ const char *sptr = orig;
if (strncmp(orig, "0x", 2) == 0) {
buf_sz -= 2;
sptr += 2;
blob - 3bbcf1c246a5b5475ef1fb51e62831f676c6dcf6 (mode 644)
blob + /dev/null
--- src/macos.c
+++ /dev/null
-#include <libproc.h>
-#include <time.h>
-#include <mach/mach_time.h>
-#include <sys/errno.h>
-#include <stdlib.h>
-
-#include "lfmacos.h"
-
-#define NS_TO_SECONDS 1000000000.0
-#define NEW_PROCESS_SENTINEL (-1.0)
-
-ProcessData *new_ProcessData() {
- ProcessData *pd = malloc(sizeof(ProcessData));
- pd->last_total_consumed = NEW_PROCESS_SENTINEL;
- return pd;
-}
-
-int update_process(pid_t pid, ProcessData *proc) {
- struct proc_taskinfo taskinfo;
- const int r = proc_pidinfo(pid, PROC_PIDTASKINFO, 0, &taskinfo, PROC_PIDTASKINFO_SIZE);
- if (r != PROC_PIDTASKINFO_SIZE) {
- return 1;
- }
-
- mach_timebase_info_data_t info;
- mach_timebase_info(&info);
- const double ns_per_tick = (double)info.numer / (double)info.denom;
-
- time(&(proc->timestamp));
- proc->total_kernel_time = (taskinfo.pti_total_system * ns_per_tick) / NS_TO_SECONDS;
- proc->total_user_time = (taskinfo.pti_total_user * ns_per_tick) / NS_TO_SECONDS;
- proc->virtual_memory = taskinfo.pti_virtual_size;
- proc->resident_memory = taskinfo.pti_resident_size;
-
- if (proc->last_total_consumed != NEW_PROCESS_SENTINEL) {
- time_t t = proc->timestamp - proc->last_timestamp;
- proc->percent_cpu = 100.0 * (proc->total_user_time + proc->total_kernel_time - proc->last_total_consumed) / t;
- } else {
- proc->percent_cpu = 0.0;
- }
-
- proc->last_timestamp = proc->timestamp;
- proc->last_total_consumed = proc->total_kernel_time + proc->total_user_time;
-
- return 0;
-}
-
-/* reallocarray is reimplemented here for macOS because Apple doesn't expose
- * their implementation. This is taken straight from the OpenBSD source as
- * shown in the below copyright notice
- */
-
-/* $OpenBSD: reallocarray.c,v 1.2 2014/12/08 03:45:00 bcook Exp $ */
-/*
- * Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* OPENBSD ORIGINAL: lib/libc/stdlib/reallocarray.c */
-
-#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
-
-void *reallocarray(void *optr, size_t nmemb, size_t size)
-{
- if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
- nmemb > 0 && SIZE_MAX / nmemb < size) {
- errno = ENOMEM;
- return NULL;
- }
- return realloc(optr, size * nmemb);
-}
blob - /dev/null
blob + 3bbcf1c246a5b5475ef1fb51e62831f676c6dcf6 (mode 644)
--- /dev/null
+++ src/macos/macos.c
+#include <libproc.h>
+#include <time.h>
+#include <mach/mach_time.h>
+#include <sys/errno.h>
+#include <stdlib.h>
+
+#include "lfmacos.h"
+
+#define NS_TO_SECONDS 1000000000.0
+#define NEW_PROCESS_SENTINEL (-1.0)
+
+ProcessData *new_ProcessData() {
+ ProcessData *pd = malloc(sizeof(ProcessData));
+ pd->last_total_consumed = NEW_PROCESS_SENTINEL;
+ return pd;
+}
+
+int update_process(pid_t pid, ProcessData *proc) {
+ struct proc_taskinfo taskinfo;
+ const int r = proc_pidinfo(pid, PROC_PIDTASKINFO, 0, &taskinfo, PROC_PIDTASKINFO_SIZE);
+ if (r != PROC_PIDTASKINFO_SIZE) {
+ return 1;
+ }
+
+ mach_timebase_info_data_t info;
+ mach_timebase_info(&info);
+ const double ns_per_tick = (double)info.numer / (double)info.denom;
+
+ time(&(proc->timestamp));
+ proc->total_kernel_time = (taskinfo.pti_total_system * ns_per_tick) / NS_TO_SECONDS;
+ proc->total_user_time = (taskinfo.pti_total_user * ns_per_tick) / NS_TO_SECONDS;
+ proc->virtual_memory = taskinfo.pti_virtual_size;
+ proc->resident_memory = taskinfo.pti_resident_size;
+
+ if (proc->last_total_consumed != NEW_PROCESS_SENTINEL) {
+ time_t t = proc->timestamp - proc->last_timestamp;
+ proc->percent_cpu = 100.0 * (proc->total_user_time + proc->total_kernel_time - proc->last_total_consumed) / t;
+ } else {
+ proc->percent_cpu = 0.0;
+ }
+
+ proc->last_timestamp = proc->timestamp;
+ proc->last_total_consumed = proc->total_kernel_time + proc->total_user_time;
+
+ return 0;
+}
+
+/* reallocarray is reimplemented here for macOS because Apple doesn't expose
+ * their implementation. This is taken straight from the OpenBSD source as
+ * shown in the below copyright notice
+ */
+
+/* $OpenBSD: reallocarray.c,v 1.2 2014/12/08 03:45:00 bcook Exp $ */
+/*
+ * Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* OPENBSD ORIGINAL: lib/libc/stdlib/reallocarray.c */
+
+#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
+
+void *reallocarray(void *optr, size_t nmemb, size_t size)
+{
+ if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
+ nmemb > 0 && SIZE_MAX / nmemb < size) {
+ errno = ENOMEM;
+ return NULL;
+ }
+ return realloc(optr, size * nmemb);
+}
blob - eb1520fa7b9d97b1af7fb883c1ddd5878b624d77
blob + 5fa7f48c7a3818d6b9211a70803e00e0572e2362
--- src/parsing.c
+++ src/parsing.c
score += ses_score_sw(*c);
}
return score;
-}
\ No newline at end of file
+}
+