This commit is contained in:
QL 2020-08-25 10:17:51 -04:00
parent 0858b2af01
commit bad770c6c8
50 changed files with 104 additions and 90 deletions

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -148,7 +148,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -193,7 +193,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -191,7 +191,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -150,7 +150,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -195,7 +195,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -193,7 +193,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -148,7 +148,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -148,7 +148,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -147,7 +147,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -190,7 +190,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -147,7 +147,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -192,7 +192,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -190,7 +190,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -147,7 +147,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -192,7 +192,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -190,7 +190,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -146,7 +146,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -191,7 +191,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -189,7 +189,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -147,7 +147,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -192,7 +192,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -190,7 +190,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -40,24 +40,24 @@ expect("@timestamp Trg-Done QS_RX_COMMAND")
test("FunctionWhichReturnsLocalVariable() Should Return The Current Counter Value")
command(1)
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariable 0x5A5A")
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariab 0x5A5A")
expect("@timestamp Trg-Done QS_RX_COMMAND")
# This should be true because we can still change our answer
poke(0, 4, pack('<L', 0x1234))
command(1)
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariable 0x1234")
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariab 0x1234")
expect("@timestamp Trg-Done QS_RX_COMMAND")
test("FunctionWhichReturnsLocalVariable() Should Return The Current Counter Value Again", NORESET)
# This should be true again because setup was rerun before this test (and after we changed it to 0x1234)
command(1)
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariable 0x5A5A")
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariab 0x5A5A")
expect("@timestamp Trg-Done QS_RX_COMMAND")
test("FunctionWhichReturnsLocalVariable() Should Return Current Counter, But Fails Because This Test Is Actually Flawed", NORESET)
# Sometimes you get the test wrong. When that happens, you get a failure too... and a quick look should tell
# you what actually happened...which in this case was a failure to setup the initial condition.
command(1)
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariable 0x1234")
expect("@timestamp USER+001 FunctionWhichReturnsLocalVariab 0x1234")
expect("@timestamp Trg-Done QS_RX_COMMAND")

View File

@ -148,7 +148,7 @@ LINK := gcc # for C programs
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -193,7 +193,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -191,7 +191,7 @@ RM := rm
# QUTest test script utilities (requires QTOOLS):
#
ifeq ("$(wildcard $(QUTEST))","")
QUTEST := python $(QTOOLS)/qutest/qutest.py
QUTEST := python3 $(QTOOLS)/qutest/qutest.py
endif
TESTS := *.py

View File

@ -1,7 +1,7 @@
/*****************************************************************************
* Product: Board Support Package (BSP) for the Calculator example
* Last updated for version 6.8.2
* Last updated on 2020-06-22
* Last updated for version 6.9.0
* Last updated on 2020-06-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -108,7 +108,7 @@ int BSP_eval(double operand1, int oper, double operand2) {
}
else {
/* error: divide by zero */
STRCPY_S(l_display, DISP_WIDTH, " Error 0 ");
STRNCPY_S(l_display, DISP_WIDTH, " Error 0 ");
ok = 0;
}
break;
@ -123,7 +123,7 @@ int BSP_eval(double operand1, int oper, double operand2) {
}
else {
/* error: out of range */
STRCPY_S(l_display, DISP_WIDTH, " Error 1 ");
STRNCPY_S(l_display, DISP_WIDTH, " Error 1 ");
ok = 0;
}
}

View File

@ -1,7 +1,7 @@
/*****************************************************************************
* Product: Board Support Package (BSP) for the Calculator example
* Last updated for version 6.8.2
* Last updated on 2020-06-22
* Last updated for version 6.9.0
* Last updated on 2020-06-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -72,7 +72,7 @@ void BSP_display(double value) {
}
/*..........................................................................*/
void BSP_display_error(char const *err) {
STRCPY_S(l_display, DISP_WIDTH, err);
STRNCPY_S(l_display, DISP_WIDTH, err);
}
/*..........................................................................*/
void BSP_negate(void) {
@ -113,7 +113,8 @@ void QF_onClockTick(void) {
/*..........................................................................*/
/* this function is used by the QP embedded systems-friendly assertions */
Q_NORETURN Q_onAssert(char_t const * const file, int_t const line) {
FPRINTF_S(stderr, "Assertion failed in %s, line %d", file, line);
Q_NORETURN Q_onAssert(char const * const module, int_t const loc) {
FPRINTF_S(stderr, "Assertion failed in %s:%d", module, loc);
QF_onCleanup();
exit(-1);
}

View File

@ -1,7 +1,7 @@
/*****************************************************************************
* Product: Board Support Package (BSP) for the Calculator example
* Last updated for version 6.8.2
* Last updated on 2020-06-22
* Last updated for version 6.9.0
* Last updated on 2020-06-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -72,7 +72,7 @@ void BSP_display(double value) {
}
/*..........................................................................*/
void BSP_display_error(char const *err) {
STRCPY_S(l_display, DISP_WIDTH, err);
STRNCPY_S(l_display, DISP_WIDTH, err);
}
/*..........................................................................*/
void BSP_negate(void) {
@ -113,7 +113,8 @@ void QF_onClockTick(void) {
/*..........................................................................*/
/* this function is used by the QP embedded systems-friendly assertions */
Q_NORETURN Q_onAssert(char_t const * const file, int_t const line) {
FPRINTF_S(stderr, "Assertion failed in %s, line %d", file, line);
Q_NORETURN Q_onAssert(char const * const module, int_t const loc) {
FPRINTF_S(stderr, "Assertion failed in %s:%d", module, loc);
QF_onCleanup();
exit(-1);
}

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp.py
python3 %QTOOLS%\qview\qview.py dpp.py
@endlocal

View File

@ -3,6 +3,6 @@
if "%QTOOLS%"=="" (
set QTOOLS=C:\qp\qtools
)
python %QTOOLS%\qview\qview.py dpp1.py
python3 %QTOOLS%\qview\qview.py dpp1.py
@endlocal

View File

@ -4,8 +4,8 @@
* @ingroup ports
* @cond
******************************************************************************
* Last updated for version 6.8.0
* Last updated on 2020-03-31
* Last updated for version 6.9.0
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -205,7 +205,7 @@ void QS_onFlush(void) {
static struct timespec const c_timeout = { 0, QS_TIMEOUT_MS*1000000L };
if (l_sock == INVALID_SOCKET) { /* socket NOT initialized? */
FPRINTF_S(stderr, "<TARGET> ERROR invalid TCP socket\n");
FPRINTF_S(stderr, "%s\n", "<TARGET> ERROR invalid TCP socket");
return;
}

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)

View File

@ -5,7 +5,7 @@
* @cond
******************************************************************************
* Last updated for version 6.9.0
* Last updated on 2020-08-22
* Last updated on 2020-08-24
*
* Q u a n t u m L e a P s
* ------------------------
@ -49,8 +49,8 @@
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove_s(dest_, num_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy_s(dest_, destsiz_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) \
strncpy_s(dest_, destsiz_, src_, _TRUNCATE)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat_s(dest_, destsiz_, src_)
@ -85,8 +85,10 @@ if (fopen_s(&fp_, fName_, mode_) != 0) { \
#define MEMMOVE_S(dest_, num_, src_, count_) \
memmove(dest_, src_, count_)
#define STRCPY_S(dest_, destsiz_, src_) \
strcpy(dest_, src_)
#define STRNCPY_S(dest_, destsiz_, src_) do { \
strncpy(dest_, src_, destsiz_); \
dest_[(destsiz_) - 1] = '\0'; \
} while (false)
#define STRCAT_S(dest_, destsiz_, src_) \
strcat(dest_, src_)