#include "master.hpp"
#include <time.h>
-namespace factor
-{
+namespace factor {
-void factor_vm::c_to_factor_toplevel(cell quot)
-{
- c_to_factor(quot,this);
-}
+void factor_vm::c_to_factor_toplevel(cell quot) { c_to_factor(quot); }
-void init_signals()
-{
- unix_init_signals();
-}
+void factor_vm::init_signals() { unix_init_signals(); }
-void early_init() { }
+void early_init() {}
#define SUFFIX ".image"
#define SUFFIX_LEN 6
-/* You must delete[] the result yourself. */
-const char *default_image_path()
-{
- const char *path = vm_executable_path();
+// You must free() the result yourself.
+const char* default_image_path() {
+ const char* path = vm_executable_path();
- if(!path)
- return "factor.image";
+ if (!path)
+ return strdup("factor.image");
- int len = strlen(path);
- char *new_path = new char[PATH_MAX + SUFFIX_LEN + 1];
- memcpy(new_path,path,len + 1);
- memcpy(new_path + len,SUFFIX,SUFFIX_LEN + 1);
- free(const_cast<char *>(path));
- return new_path;
+ size_t len = strlen(path);
+ char* new_path = (char *)malloc(len + SUFFIX_LEN + 1);
+ memcpy(new_path, path, len);
+ memcpy(new_path + len, SUFFIX, SUFFIX_LEN + 1);
+ free(const_cast<char*>(path));
+ return new_path;
}
-u64 nano_count()
-{
- struct timespec t;
- int ret;
- ret = clock_gettime(CLOCK_MONOTONIC,&t);
- if(ret != 0)
- fatal_error("clock_gettime failed", 0);
- return (u64)t.tv_sec * 1000000000 + t.tv_nsec;
+uint64_t nano_count() {
+ struct timespec t;
+ int ret = clock_gettime(CLOCK_MONOTONIC, &t);
+ if (ret != 0)
+ fatal_error("clock_gettime failed", 0);
+ return (uint64_t)t.tv_sec * 1000000000 + t.tv_nsec;
}
}