stamen

Static Menu Generator
git clone git://git.dimitrijedobrota.com/stamen.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

commit 15ae7d7f7b1ca24b5c6fc4f9ccea7cca3be1ebe3
parent e5fe507b67ac4461aec1195a99eb2ba44ffeca2d
author Dimitrije Dobrota <mail@dimitrijedobrota.com>
date Sat, 29 Jun 2024 19:11:47 +0200

Version 1.2

Diffstat:
M CMakeLists.txt | + -
M README.md | + -
M example/example_c.c | ++++++++++++ ----
M source/menu.cpp | + -

4 files changed, 15 insertions(+), 7 deletions(-)


diff --git a/ CMakeLists.txt b/ CMakeLists.txt

@@ -4,7 +4,7 @@ include(cmake/prelude.cmake) project( stamen
VERSION 1.1.1
VERSION 1.2.0
DESCRIPTION "Static menu generator" HOMEPAGE_URL "https://git.dimitrijedobrota.com/stamen" LANGUAGES C CXX

diff --git a/ README.md b/ README.md

@@ -22,7 +22,7 @@ The main advantage of stamen is two modes it can operate in: ## Dependencies * CMake 3.25.2 or latter
* Compiler with C++20 support
* Compiler with C++20 support (tested: clang 16.0.5, gcc 13.2.0)
* [Poafloc 1.1](https://github.com/DimitrijeDobrota/poafloc)

diff --git a/ example/example_c.c b/ example/example_c.c

@@ -4,29 +4,37 @@ #include "demo_menu.h" #include "stamen/stamen.h"
int operation1(size_t /* unsused */)
int operation1(size_t unused)
{
(void)unused;
printf("operation 1\n"); printf("Some operation is done\n"); return 1; }
int operation2(size_t /* unsused */)
int operation2(size_t unused)
{
(void)unused;
printf("operation 2\n"); printf("Some other operation is done\n"); return 1; }
int operation3(size_t /* unsused */)
int operation3(size_t unused)
{
(void)unused;
printf("operation 3\n"); printf("Yet another operation is done\n"); return 1; }
int finish(size_t /* unsused */)
int finish(size_t unused)
{
(void)unused;
printf("finishing...\n"); exit(0); }

diff --git a/ source/menu.cpp b/ source/menu.cpp

@@ -90,7 +90,7 @@ void menu_t::insert(const std::string& code, callback_f callback) { char* buffer = new char[prompt.size() + 1]; // NOLINT
strcpy(buffer, prompt.c_str()); // NOLINT
strcpy(buffer, prompt.c_str()); // NOLINT
m_items.emplace_back(callback, buffer); m_codes.emplace_back(code, prompt);