Merge branch 'master' of https://github.com/Wilhelm-Lee/Compound
This commit is contained in:
77
.github/workflows/cmake-multi-platform.yml
vendored
77
.github/workflows/cmake-multi-platform.yml
vendored
@@ -1,77 +0,0 @@
|
|||||||
# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform.
|
|
||||||
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml
|
|
||||||
name: CMake on multiple platforms
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "0 2 * * 1-5"
|
|
||||||
push:
|
|
||||||
branches: [ "master" ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ "master" ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
|
|
||||||
fail-fast: false
|
|
||||||
|
|
||||||
# Set up a matrix to run the following 3 configurations:
|
|
||||||
# 1. <Windows, Release, latest MSVC compiler toolchain on the default runner image, default generator>
|
|
||||||
# 2. <Linux, Release, latest GCC compiler toolchain on the default runner image, default generator>
|
|
||||||
# 3. <Linux, Release, latest Clang compiler toolchain on the default runner image, default generator>
|
|
||||||
#
|
|
||||||
# To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, windows-latest]
|
|
||||||
build_type: [Release]
|
|
||||||
c_compiler: [gcc, clang, cl]
|
|
||||||
include:
|
|
||||||
- os: windows-latest
|
|
||||||
c_compiler: cl
|
|
||||||
cpp_compiler: cl
|
|
||||||
- os: ubuntu-latest
|
|
||||||
c_compiler: gcc
|
|
||||||
cpp_compiler: g++
|
|
||||||
- os: ubuntu-latest
|
|
||||||
c_compiler: clang
|
|
||||||
cpp_compiler: clang++
|
|
||||||
exclude:
|
|
||||||
- os: windows-latest
|
|
||||||
c_compiler: gcc
|
|
||||||
- os: windows-latest
|
|
||||||
c_compiler: clang
|
|
||||||
- os: ubuntu-latest
|
|
||||||
c_compiler: cl
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set reusable strings
|
|
||||||
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
|
|
||||||
id: strings
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
|
|
||||||
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
|
|
||||||
run: >
|
|
||||||
cmake -B ${{ steps.strings.outputs.build-output-dir }}
|
|
||||||
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
|
|
||||||
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
|
|
||||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
|
||||||
-S ${{ github.workspace }}
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
# Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
|
|
||||||
run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
|
||||||
# Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
|
|
||||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
|
||||||
run: ctest --build-config ${{ matrix.build_type }}
|
|
@@ -5,16 +5,16 @@ project (Compound)
|
|||||||
set(CMAKE_C_COMPILER gcc)
|
set(CMAKE_C_COMPILER gcc)
|
||||||
|
|
||||||
set(WALL -Waddress
|
set(WALL -Waddress
|
||||||
-Warray-compare
|
# -Warray-compare
|
||||||
-Warray-parameter=2
|
-Warray-parameter=2
|
||||||
-Wbool-compare
|
-Wbool-compare
|
||||||
-Wbool-operation
|
-Wbool-operation
|
||||||
-Wchar-subscripts
|
-Wchar-subscripts
|
||||||
-Wcomment
|
-Wcomment
|
||||||
-Wdangling-else
|
-Wdangling-else
|
||||||
-Wdangling-pointer=2
|
# -Wdangling-pointer=2
|
||||||
-Wenum-compare
|
-Wenum-compare
|
||||||
-Wenum-int-mismatch
|
# -Wenum-int-mismatch
|
||||||
-Wformat=1
|
-Wformat=1
|
||||||
-Wformat-contains-nul
|
-Wformat-contains-nul
|
||||||
-Wformat-diag
|
-Wformat-diag
|
||||||
@@ -26,7 +26,7 @@ set(WALL -Waddress
|
|||||||
-Wimplicit
|
-Wimplicit
|
||||||
-Wimplicit-function-declaration
|
-Wimplicit-function-declaration
|
||||||
-Wimplicit-int
|
-Wimplicit-int
|
||||||
-Winfinite-recursion
|
# -Winfinite-recursion
|
||||||
-Wint-in-bool-context
|
-Wint-in-bool-context
|
||||||
-Wlogical-not-parentheses
|
-Wlogical-not-parentheses
|
||||||
-Wmain
|
-Wmain
|
||||||
@@ -65,7 +65,7 @@ set(WALL -Waddress
|
|||||||
-Wunused-local-typedefs
|
-Wunused-local-typedefs
|
||||||
-Wunused-value
|
-Wunused-value
|
||||||
-Wunused-variable
|
-Wunused-variable
|
||||||
-Wuse-after-free=2
|
# -Wuse-after-free=2
|
||||||
-Wvla-parameter
|
-Wvla-parameter
|
||||||
-Wvolatile-register-var
|
-Wvolatile-register-var
|
||||||
-Wzero-length-bounds
|
-Wzero-length-bounds
|
||||||
|
28
README.md
28
README.md
@@ -5,12 +5,9 @@ Generally, Compound is a library for general-purposes programming which you will
|
|||||||
It is worth noticing that, this library is completely aimed for creating another language. That means, every feature update is supposedly to serve the language.
|
It is worth noticing that, this library is completely aimed for creating another language. That means, every feature update is supposedly to serve the language.
|
||||||
|
|
||||||
---
|
---
|
||||||
## BUILDING
|
## Building
|
||||||
|
|
||||||
To build Compound, all you need is to type as follow in a terminal:
|
|
||||||
```shell
|
```shell
|
||||||
cmake . # Generate "Makefile"
|
cmake . && make
|
||||||
make # Build
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> *PLEASE NOTICE*
|
> *PLEASE NOTICE*
|
||||||
@@ -35,12 +32,25 @@ Compound, now, roughly divides platform compatibilities into 2 major parts, the
|
|||||||
This idea is ready for refinements, you can put up such suggestions and they're welcomed.
|
This idea is ready for refinements, you can put up such suggestions and they're welcomed.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
To install Compound, all you need to do is to run `install`, something like below.
|
|
||||||
```shell
|
```shell
|
||||||
./install # (Require root privilege)
|
./preinstall # (Require root privilege)
|
||||||
|
./postinstall # (Require root privilege)
|
||||||
```
|
```
|
||||||
|
|
||||||
If you cannot execute ./install script, try to add permission for execution:
|
> *I TELL YOU WHAT*
|
||||||
|
> *It is for the convenience of project building automation that the installation procedure being devided into two different parts.*
|
||||||
|
> *In general, the "preinstall" copies the header files into system "include" directory,*
|
||||||
|
> *while the "postinstall" copies the compiled library into system library directory.*
|
||||||
|
|
||||||
|
|
||||||
|
And if you cannot execute the scripts, try to add permission for execution:
|
||||||
```shell
|
```shell
|
||||||
chmod +x ./install # (Require root privilege)
|
chmod +x ./the_file_lacks_of_permission_to_execute_and_to_be_honest_i_dont_know_why_do_i_have_to_put_the_name_so_long_that_none_of_you_would_like_to_read_it_through_but_since_you_have_gotten_this_far_congrats_you_are_my_big_star_now_oh_by_the_way_do_you_know_that_the_cat_of_mine_can_actually_talk_cause_last_sunday_when_i_head_to_kitchen_for_some_drinks_and_i_heard_something_mumbling_behind_the_door_and_i_went_up_to_check_what_it_was_and_it_turns_out_that_it_was_my_cat_speaking_and_what_it_said_was_meow
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Troubleshoot
|
||||||
|
For now, we wish more of you to put up issues so that the problems can be spotted.
|
||||||
|
|
||||||
|
> *NOT SO FAST*
|
||||||
|
> *If you got a problem, try to look up for similar or same issues that had been put up already,*
|
||||||
|
> *'cause you don't want to have your reply simply written something like "ah yeah yeah, we've been through that sometime earlier".*
|
||||||
|
BIN
Status/StatusTest
Executable file
BIN
Status/StatusTest
Executable file
Binary file not shown.
@@ -76,7 +76,7 @@ typedef struct _Status {
|
|||||||
# define LOCATION_LITERALISE_FORMAT "at %s:%d, in function `%s\'"
|
# define LOCATION_LITERALISE_FORMAT "at %s:%d, in function `%s\'"
|
||||||
|
|
||||||
# define STATUS_LITERALISE_FORMAT \
|
# define STATUS_LITERALISE_FORMAT \
|
||||||
"%s: \"%s\"\n\tpredecessor=<%s> value=(%d) characteristic=[%d]\n\t%s\n"
|
"%s: \"%s\"\n\tpredecessor=<%s> value=(%d) characteristic=(%d)\n\t%s\n"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
REPORT_SENDING_PRIORITY_ALL = 0, // Highest level; least value.
|
REPORT_SENDING_PRIORITY_ALL = 0, // Highest level; least value.
|
||||||
@@ -420,7 +420,10 @@ static inline void PrintStatusDump(Status s)
|
|||||||
|
|
||||||
/* Output by iterating. */
|
/* Output by iterating. */
|
||||||
for (register int i = 0; i < dump_len; i++) {
|
for (register int i = 0; i < dump_len; i++) {
|
||||||
|
/* Print out indexer. */
|
||||||
|
(void)printf("\e[1m[%d/%d]\e[0m", (dump_len - i), dump_len);
|
||||||
|
|
||||||
|
/* Print dumped status. */
|
||||||
unsure(PrintStatus(dump[i]), !_.value, {
|
unsure(PrintStatus(dump[i]), !_.value, {
|
||||||
(void)fprintf(stderr, "Unable to literalise.\n");
|
(void)fprintf(stderr, "Unable to literalise.\n");
|
||||||
})
|
})
|
||||||
|
213
Status/status_test.c
Normal file
213
Status/status_test.c
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include <Compound/status.h>
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
|
||||||
|
Status Example1Status = {.description = "Example1 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &NormalStatus};
|
||||||
|
Status Example2Status = {.description = "Example2 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example1Status};
|
||||||
|
Status Example3Status = {.description = "Example3 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example2Status};
|
||||||
|
Status Example4Status = {.description = "Example4 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example3Status};
|
||||||
|
Status Example5Status = {.description = "Example5 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example4Status};
|
||||||
|
Status Example6Status = {.description = "Example6 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example5Status};
|
||||||
|
Status Example7Status = {.description = "Example7 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example6Status};
|
||||||
|
Status Example8Status = {.description = "Example8 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example7Status};
|
||||||
|
Status Example9Status = {.description = "Example9 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example8Status};
|
||||||
|
Status Example10Status = {.description = "Example10 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example9Status};
|
||||||
|
Status Example11Status = {.description = "Example11 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example10Status};
|
||||||
|
Status Example12Status = {.description = "Example12 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example11Status};
|
||||||
|
Status Example13Status = {.description = "Example13 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example12Status};
|
||||||
|
Status Example14Status = {.description = "Example14 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example13Status};
|
||||||
|
Status Example15Status = {.description = "Example15 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example14Status};
|
||||||
|
Status Example16Status = {.description = "Example16 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example15Status};
|
||||||
|
Status Example17Status = {.description = "Example17 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example16Status};
|
||||||
|
Status Example18Status = {.description = "Example18 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example17Status};
|
||||||
|
Status Example19Status = {.description = "Example19 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example18Status};
|
||||||
|
Status Example20Status = {.description = "Example20 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example19Status};
|
||||||
|
Status Example21Status = {.description = "Example21 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example20Status};
|
||||||
|
Status Example22Status = {.description = "Example22 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example21Status};
|
||||||
|
Status Example23Status = {.description = "Example23 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example22Status};
|
||||||
|
Status Example24Status = {.description = "Example24 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example23Status};
|
||||||
|
Status Example25Status = {.description = "Example25 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example24Status};
|
||||||
|
Status Example26Status = {.description = "Example26 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example25Status};
|
||||||
|
Status Example27Status = {.description = "Example27 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example26Status};
|
||||||
|
Status Example28Status = {.description = "Example28 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example27Status};
|
||||||
|
Status Example29Status = {.description = "Example29 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example28Status};
|
||||||
|
Status Example30Status = {.description = "Example30 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example29Status};
|
||||||
|
Status Example31Status = {.description = "Example31 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example30Status};
|
||||||
|
Status Example32Status = {.description = "Example32 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example31Status};
|
||||||
|
Status Example33Status = {.description = "Example33 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example32Status};
|
||||||
|
Status Example34Status = {.description = "Example34 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example33Status};
|
||||||
|
Status Example35Status = {.description = "Example35 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example34Status};
|
||||||
|
Status Example36Status = {.description = "Example36 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example35Status};
|
||||||
|
Status Example37Status = {.description = "Example37 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example36Status};
|
||||||
|
Status Example38Status = {.description = "Example38 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example37Status};
|
||||||
|
Status Example39Status = {.description = "Example39 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example38Status};
|
||||||
|
Status Example40Status = {.description = "Example40 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example39Status};
|
||||||
|
Status Example41Status = {.description = "Example41 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example40Status};
|
||||||
|
Status Example42Status = {.description = "Example42 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example41Status};
|
||||||
|
Status Example43Status = {.description = "Example43 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example42Status};
|
||||||
|
Status Example44Status = {.description = "Example44 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example43Status};
|
||||||
|
Status Example45Status = {.description = "Example45 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example44Status};
|
||||||
|
Status Example46Status = {.description = "Example46 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example45Status};
|
||||||
|
Status Example47Status = {.description = "Example47 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example46Status};
|
||||||
|
Status Example48Status = {.description = "Example48 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example47Status};
|
||||||
|
Status Example49Status = {.description = "Example49 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example48Status};
|
||||||
|
Status Example50Status = {.description = "Example50 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example49Status};
|
||||||
|
Status Example51Status = {.description = "Example51 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example50Status};
|
||||||
|
Status Example52Status = {.description = "Example52 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example51Status};
|
||||||
|
Status Example53Status = {.description = "Example53 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example52Status};
|
||||||
|
Status Example54Status = {.description = "Example54 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example53Status};
|
||||||
|
Status Example55Status = {.description = "Example55 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example54Status};
|
||||||
|
Status Example56Status = {.description = "Example56 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example55Status};
|
||||||
|
Status Example57Status = {.description = "Example57 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example56Status};
|
||||||
|
Status Example58Status = {.description = "Example58 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example57Status};
|
||||||
|
Status Example59Status = {.description = "Example59 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example58Status};
|
||||||
|
Status Example60Status = {.description = "Example60 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example59Status};
|
||||||
|
Status Example61Status = {.description = "Example61 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example60Status};
|
||||||
|
Status Example62Status = {.description = "Example62 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example61Status};
|
||||||
|
Status Example63Status = {.description = "Example63 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example62Status};
|
||||||
|
Status Example64Status = {.description = "Example64 Status",
|
||||||
|
.characteristic = STATUS_NORMAL,
|
||||||
|
.prev = &Example63Status};
|
||||||
|
|
||||||
|
Status statbuff[64] = {{0}};
|
||||||
|
|
||||||
|
status_dump(Example64Status, statbuff, 0);
|
||||||
|
|
||||||
|
Status *p = &Example64Status;
|
||||||
|
int cnt = 0;
|
||||||
|
while (p != NULL) {
|
||||||
|
(void)printf("%d:%d %s\n", cnt++, p->characteristic, p->description);
|
||||||
|
p = p->prev;
|
||||||
|
};
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
Var/VarTest
Executable file
BIN
Var/VarTest
Executable file
Binary file not shown.
26
Var/test.c
Normal file
26
Var/test.c
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#include <Compound/var.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
Var v1 = {
|
||||||
|
.addr = malloc(sizeof(int)),
|
||||||
|
.sz = sizeof(int)
|
||||||
|
};
|
||||||
|
|
||||||
|
Var v2 = (Var){v1.addr, v1.sz};
|
||||||
|
|
||||||
|
wchar_t wbuff[UINT8_MAX + 1] = {};
|
||||||
|
wchar_t *wp = wbuff;
|
||||||
|
|
||||||
|
(void)var_literalise(v1, &wp);
|
||||||
|
|
||||||
|
(void)wprintf(L"%ls\n", wp);
|
||||||
|
|
||||||
|
(void)var_literalise(v2, &wp);
|
||||||
|
|
||||||
|
(void)wprintf(L"%ls\n", wp);
|
||||||
|
|
||||||
|
free(v1.addr);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
1
catlog.c
1
catlog.c
@@ -1,4 +1,3 @@
|
|||||||
#include "Status/include/status.h"
|
|
||||||
#include <Compound/common.h>
|
#include <Compound/common.h>
|
||||||
#include <Compound/status.h>
|
#include <Compound/status.h>
|
||||||
#include <Compound/catlog.h>
|
#include <Compound/catlog.h>
|
||||||
|
43
install
43
install
@@ -1,43 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "`whoami`" != "root" ]; then
|
|
||||||
echo "The script require root privilege to execute properly."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# echo "Please ensure the current work directory is the home directory to the project Compound!
|
|
||||||
# Press enter key to continue..."
|
|
||||||
# read
|
|
||||||
|
|
||||||
SRC="$PWD"
|
|
||||||
DST=/usr/include/Compound
|
|
||||||
PROJ=("Array" "Paper" "Pen" "Render" "Status" "Var" "MemMan" "Stack" "Utils"\
|
|
||||||
"String" "Object")
|
|
||||||
|
|
||||||
PROJLEN=${#PROJ[*]}
|
|
||||||
echo "======== $PROJLEN projects in total ========"
|
|
||||||
|
|
||||||
idx=0
|
|
||||||
while :; do
|
|
||||||
if [[ $idx -eq $PROJLEN || $idx -gt $PROJLEN ]]; then
|
|
||||||
break;
|
|
||||||
fi
|
|
||||||
|
|
||||||
p="${PROJ[$idx]}"
|
|
||||||
|
|
||||||
cd "$p"
|
|
||||||
echo "`date` >>> Installing $p"
|
|
||||||
cp -v include/*.h "$DST"
|
|
||||||
cd "$SRC"
|
|
||||||
((idx++))
|
|
||||||
echo
|
|
||||||
done
|
|
||||||
|
|
||||||
cp -v "common.h" "const.h" "platform.h"\
|
|
||||||
"name.h" "namescope.h" "type.h" "catlog.h"\
|
|
||||||
"attr.h" "registry.h" "class.h" "function.h" "$DST"
|
|
||||||
|
|
||||||
echo "Installing libcompound:"
|
|
||||||
cp -v "libcompound.so" "/usr/lib"
|
|
||||||
|
|
||||||
printf "\nDone\n"
|
|
11
postinstall
Executable file
11
postinstall
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$(whoami)" != "root" ]; then
|
||||||
|
echo "The script require root privilege to execute properly. Current identity: $(whoami)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Compound library.
|
||||||
|
echo "Installing libcompound:"
|
||||||
|
cp -v "libcompound.so" "/usr/lib"
|
||||||
|
|
35
preinstall
Executable file
35
preinstall
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$(whoami)" != "root" ]; then
|
||||||
|
echo "The script require root privilege to execute properly. Current identity: $(whoami)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRC="$PWD"
|
||||||
|
DST=/usr/include/Compound
|
||||||
|
set -- Array Paper Pen Render Status Var MemMan Stack Utils String Object
|
||||||
|
|
||||||
|
# Create directory.
|
||||||
|
if [ ! -d "$DST" ]; then
|
||||||
|
mkdir -pv "$DST"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install project-like headers.
|
||||||
|
while :; do
|
||||||
|
p="$1"
|
||||||
|
if [ -z "$1" ]; then break; fi
|
||||||
|
|
||||||
|
cd "$p" || exit 1
|
||||||
|
echo "$(date) >>> Installing $p"
|
||||||
|
cp -v include/*.h "$DST"
|
||||||
|
cd "$SRC" || exit 1
|
||||||
|
shift 1
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
|
||||||
|
# Install individual headers.
|
||||||
|
cp -v "common.h" "const.h" "platform.h"\
|
||||||
|
"name.h" "namescope.h" "type.h" "catlog.h"\
|
||||||
|
"attr.h" "registry.h" "class.h" "function.h" "$DST"
|
||||||
|
|
||||||
|
printf "\nDone\n"
|
408
test.c
408
test.c
@@ -43,7 +43,410 @@ Status Main(void)
|
|||||||
|
|
||||||
// PrintStatusDump(unknown(normal(MaximumLiteralisationLengthExceeded, ":O"), "OMGIDKWTD", 1));
|
// PrintStatusDump(unknown(normal(MaximumLiteralisationLengthExceeded, ":O"), "OMGIDKWTD", 1));
|
||||||
// PrintStatusDump(apply(extend(MaximumLiteralisationLengthExceeded, normal(UnavailableBuffer, "OMGIDKWTD"))));
|
// PrintStatusDump(apply(extend(MaximumLiteralisationLengthExceeded, normal(UnavailableBuffer, "OMGIDKWTD"))));
|
||||||
PrintStatusDump(MaximumLiteralisationLengthExceeded);
|
// PrintStatusDump(MaximumLiteralisationLengthExceeded);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus0, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &MaximumLiteralisationLengthExceeded);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus1, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus0);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus2, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus1);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus3, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus2);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus4, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus3);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus5, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus4);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus6, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus5);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus7, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus6);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus8, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus7);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus9, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus8);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus10, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus9);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus11, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus10);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus12, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus11);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus13, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus12);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus14, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus13);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus15, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus14);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus16, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus15);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus17, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus16);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus18, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus17);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus19, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus18);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus20, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus19);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus21, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus20);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus22, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus21);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus23, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus22);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus24, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus23);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus25, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus24);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus26, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus25);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus27, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus26);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus28, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus27);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus29, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus28);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus30, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus29);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus31, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus30);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus32, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus31);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus33, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus32);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus34, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus33);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus35, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus34);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus36, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus35);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus37, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus36);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus38, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus37);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus39, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus38);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus40, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus39);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus41, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus40);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus42, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus41);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus43, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus42);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus44, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus43);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus45, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus44);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus46, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus45);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus47, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus46);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus48, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus47);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus49, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus48);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus50, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus49);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus51, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus50);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus52, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus51);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus53, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus52);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus54, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus53);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus55, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus54);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus56, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus55);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus57, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus56);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus58, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus57);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus59, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus58);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus60, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus59);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus61, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus60);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus62, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus61);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus63, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus62);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus64, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus63);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus65, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus64);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus66, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus65);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus67, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus66);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus68, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus67);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus69, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus68);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus70, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus69);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus71, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus70);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus72, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus71);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus73, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus72);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus74, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus73);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus75, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus74);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus76, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus75);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus77, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus76);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus78, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus77);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus79, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus78);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus80, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus79);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus81, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus80);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus82, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus81);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus83, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus82);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus84, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus83);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus85, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus84);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus86, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus85);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus87, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus86);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus88, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus87);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus89, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus88);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus90, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus89);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus91, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus90);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus92, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus91);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus93, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus92);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus94, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus93);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus95, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus94);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus96, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus95);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus97, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus96);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus98, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus97);
|
||||||
|
|
||||||
|
DEFSTATUS(TestStatus99, 1,
|
||||||
|
"This status is used for displaying multi-layer of status dumping.",
|
||||||
|
STATUS_NORMAL, &TestStatus98);
|
||||||
|
|
||||||
|
|
||||||
|
PrintStatusDump(apply(TestStatus99));
|
||||||
|
|
||||||
return apply(NormalStatus);
|
return apply(NormalStatus);
|
||||||
}
|
}
|
||||||
@@ -52,6 +455,3 @@ int main(void)
|
|||||||
{
|
{
|
||||||
return Main().value;
|
return Main().value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user