aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorla-ninpre <leobrekalini@gmail.com>2021-09-10 17:08:07 +0000
committerla-ninpre <leobrekalini@gmail.com>2021-09-10 17:08:07 +0000
commit2d542a6c14625efa1b2c6249972bd36e117e3fa8 (patch)
treeadff9bb9a2a159caec94f2f7e375e79ee0abe5aa
parent00981834d98546471e30441979a36dac52a76ecd (diff)
downloadnimisewi_c-0.3.1.tar.gz
nimisewi_c-0.3.1.zip
added compiler info to nimisewiv0.3.1
also removed error checks from nimisewi, nimisewi.cgi and nimisewi_gemini.cgi because this error check has to happen inside nimi_sewi() and not in those programs. FossilOrigin-Name: 2fd4c9495753569c904132ee83cd5f14662389c69399c27f289e0e3ae35aa0cb
-rw-r--r--CMakeLists.txt25
-rw-r--r--cgi.c11
-rw-r--r--cgi_gemini.c11
-rw-r--r--config.h.in1
-rw-r--r--main.c14
-rw-r--r--nimisewi.c2
6 files changed, 39 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ae0628..417d85a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,16 +1,33 @@
cmake_minimum_required(VERSION 3.10)
+# project specification
+
project(nimisewi
- VERSION 0.3.0
+ VERSION 0.3.1
DESCRIPTION "small program that generates random toki pona noun phrase"
HOMEPAGE_URL "https://fsl.aaoth.xyz/nimisewi.c/home")
+# get compiler name and version
+
+execute_process(COMMAND ${CMAKE_C_COMPILER} "--version"
+ OUTPUT_VARIABLE _PROJECT_C_COMPILER_VERSION)
+string(REGEX REPLACE "\n" ";"
+ PROJECT_C_COMPILER_VERSION ${_PROJECT_C_COMPILER_VERSION})
+list(APPEND PROJECT_C_COMPILER_STRING ${PROJECT_C_COMPILER_VERSION})
+list(POP_FRONT PROJECT_C_COMPILER_STRING PROJECT_C_COMPILER_VERSION)
+
+# configuration header
+
configure_file(config.h.in config.h)
+# main executable
+
add_executable(nimisewi main.c nimisewi.c
${PROJECT_BINARY_DIR}/nimitoki.c)
target_include_directories(nimisewi PUBLIC "${PROJECT_BINARY_DIR}")
+# supplementary executable
+
add_executable(makenimitoki makenimitoki.c)
target_include_directories(makenimitoki PUBLIC "${PROJECT_BINARY_DIR}")
@@ -20,10 +37,14 @@ add_custom_command(
COMMAND makenimitoki ${PROJECT_SOURCE_DIR}/nimitoki.txt
DEPENDS makenimitoki)
+# includes
+
include(CheckIncludeFile)
include(CheckSymbolExists)
include(CheckCSourceCompiles)
+# warning message
+
set(WARNING_STATIC_BUILD "static build won't work here")
# check libraries
@@ -179,6 +200,8 @@ if(BUILD_GEMINI_CGI)
DESTINATION $<TARGET_PROPERTY:nimisewi_gemini.cgi,GEMINI_CGI_INSTALL_DIR>)
endif()
+# packaging
+
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set(CPACK_PROJECT_VERSION_MAJOR ${nimisewi_VERSION_MAJOR})
diff --git a/cgi.c b/cgi.c
index 976bad9..e71df22 100644
--- a/cgi.c
+++ b/cgi.c
@@ -75,26 +75,23 @@ print_html_footer(void)
int
main(void)
{
+ char *ns;
+
#ifdef HAVE_PLEDGE
if (pledge("stdio", NULL) == -1) {
err(EXIT_FAILURE, "pledge");
}
#endif
- char *ns;
- ns = nimi_sewi();
- if (ns == NULL) {
- err(EXIT_FAILURE, "memory allocation failed");
- }
-
print_response_header();
print_html_header();
printf("<h1>");
+ ns = nimi_sewi();
printf("%s", ns);
+ weka_e_nimi_sewi(ns);
printf("</h1>\n");
- weka_e_nimi_sewi(ns);
print_html_footer();
diff --git a/cgi_gemini.c b/cgi_gemini.c
index d2bd866..171011e 100644
--- a/cgi_gemini.c
+++ b/cgi_gemini.c
@@ -9,22 +9,19 @@
int
main(void)
{
+ char *ns;
+
#ifdef HAVE_PLEDGE
if (pledge("stdio", NULL) == -1) {
err(EXIT_FAILURE, "pledge failed");
}
#endif
- char *ns;
-
- ns = nimi_sewi();
- if (ns == NULL) {
- err(EXIT_FAILURE, "memory allocation failed");
- }
-
printf("20 text/gemini\r\n");
printf("sina o lukin e nimi sewi:\n\n");
+ ns = nimi_sewi();
printf("# %s\n", ns);
+ weka_e_nimi_sewi(ns);
return EXIT_SUCCESS;
}
diff --git a/config.h.in b/config.h.in
index c0ff135..08ca98c 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,3 +1,4 @@
#define NIMISEWI_VERSION "@nimisewi_VERSION@"
#define PACKAGE_STRING "@CMAKE_PROJECT_NAME@" " " NIMISEWI_VERSION
#define PACKAGE_DESCRIPTION "@nimisewi_DESCRIPTION@"
+#define COMPILER_NAME "@PROJECT_C_COMPILER_VERSION@"
diff --git a/main.c b/main.c
index 8c87c54..d4ce701 100644
--- a/main.c
+++ b/main.c
@@ -32,6 +32,8 @@
int
main(int argc, char *argv[])
{
+ char *ns;
+
#ifdef HAVE_PLEDGE
if (pledge("stdio", NULL) == -1) {
err(EXIT_FAILURE, "pledge");
@@ -41,9 +43,8 @@ main(int argc, char *argv[])
if (!strcmp(argv[1], "--version") || !strcmp(argv[1], "-v")) {
printf("%s\n", PACKAGE_STRING);
printf("%s\n", PACKAGE_DESCRIPTION);
-#if defined(HAVE_PLEDGE) || defined(HAVE_STRLCAT)
- printf("features:\n");
-#endif
+ printf("compiled on %s %s using %s (%d-bit)\n",
+ __DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8);
#ifdef HAVE_PLEDGE
printf("HAVE_PLEDGE\n");
#endif
@@ -56,14 +57,9 @@ main(int argc, char *argv[])
return EXIT_SUCCESS;
}
}
- char *ns;
- ns = nimi_sewi();
- if (ns == NULL) {
- err(EXIT_FAILURE, "memory allocation failed");
- }
+ ns = nimi_sewi();
printf("%s\n", ns);
-
weka_e_nimi_sewi(ns);
return EXIT_SUCCESS;
diff --git a/nimisewi.c b/nimisewi.c
index 989e227..28d79a6 100644
--- a/nimisewi.c
+++ b/nimisewi.c
@@ -218,7 +218,7 @@ char
nimi_pana = calloc(nn->suli_pi_nimi_sewi + 1, sizeof(char));
if (nimi_pana == NULL) {
weka_e_nanpa_nimi(nn);
- return NULL;
+ err(EXIT_FAILURE, "memory allocation failed");
}
for (i = 0; i < nn->nanpa_nimi; i++) {