Browse Source

lib_test - add funcs and tests for char** (string-by-ref)

master
heck 4 years ago
parent
commit
5a048a19d3
  1. 7
      examples/lib/lib_test/functions.h
  2. 28
      examples/lib/lib_test/lib_test.c
  3. 30
      examples/lib/lib_test/main.c

7
examples/lib/lib_test/functions.h

@ -44,6 +44,13 @@ const char* func_pPcc_args_pPcc(const char* arg1_pPcc);
const char* func_pPcc_args_pPcc_pPcc(const char* arg1_pPcc,const char* arg2_pPcc);
// String-by-ref (char**)
char** func_ppPc_args_V();
void func_V_args_ppPc(char** arg1_ppPc);
char** func_ppPc_args_ppPc(char** arg1_ppPc);
char** func_ppPc_args_ppPc_ppPc(char** arg1_ppPc,char** arg2_ppPc);

28
examples/lib/lib_test/lib_test.c

@ -1,6 +1,7 @@
#include "lib_test.h"
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
@ -75,6 +76,33 @@ const char* func_pPcc_args_pPcc_pPcc(const char* arg1_pPcc,const char* arg2_pPcc
return strdup(arg1_pPcc);
}
// String-by-ref (char**)
char** func_ppPc_args_V() {
char* ret = (char*)calloc(23,sizeof(char));
ret = "pEp";
return &ret;
}
void func_V_args_ppPc(char** arg1_ppPc) {
*arg1_ppPc = (char*) calloc(23, sizeof (char));
*arg1_ppPc = "pEp";
}
char** func_ppPc_args_ppPc(char** arg1_ppPc) {
*arg1_ppPc = (char*) calloc(23, sizeof (char));
*arg1_ppPc = "pEp";
return arg1_ppPc;
}
char** func_ppPc_args_ppPc_ppPc(char** arg1_ppPc,char** arg2_ppPc) {
*arg1_ppPc = (char*) calloc(23, sizeof (char));
*arg1_ppPc = "pEp";
*arg2_ppPc = (char*) calloc(23, sizeof (char));
*arg2_ppPc = "pEp";
return arg1_ppPc;
}
// Variables
// =========
// _V = Void

30
examples/lib/lib_test/main.c

@ -101,4 +101,34 @@ int main() {
const char* ret = func_pPcc_args_pPcc_pPcc(in,in2);
assert(!strcmp(ret, in));
}
// String-by-ref (char**)
{
printf("testing: func_ppPc_args_V\n");
char** ret = func_ppPc_args_V();
assert(!strcmp(*ret, "pEp"));
}
{
printf("testing: func_V_args_ppPc\n");
char* in = NULL;
func_V_args_ppPc(&in);
assert(!strcmp(in, "pEp"));
}
{
printf("testing: func_ppPc_args_ppPc\n");
char* in = NULL;
char** out = func_ppPc_args_ppPc(&in);
assert(!strcmp(in, "pEp"));
assert(!strcmp(*out, "pEp"));
}
{
printf("testing: func_ppPc_args_ppPc_ppPc\n");
char* in = NULL;
char* in2 = NULL;
char** out = func_ppPc_args_ppPc_ppPc(&in,&in2);
assert(!strcmp(in, "pEp"));
assert(!strcmp(in2, "pEp"));
assert(!strcmp(*out, "pEp"));
}
}

Loading…
Cancel
Save