Browse Source

lib_test - added char and struct double/tripple pointer functions (ret,arg)

master
heck 4 years ago
parent
commit
44c09f7465
  1. 41
      examples/lib/lib_test/functions.h
  2. 138
      examples/lib/lib_test/lib_test.c

41
examples/lib/lib_test/functions.h

@ -11,6 +11,8 @@ extern "C" {
#endif
// Int
// ===
// By Value
void func_V_args_V();
int func_Pi_args_V();
@ -24,13 +26,20 @@ void func_V_args_pPi(unsigned int* const arg1_pP);
int func_Pi_args_Pi_pPi_pPi(int arg1_P,unsigned int* const arg2_pP, int* arg3_pP);
// Char
// ====
// By Value
char func_Pc_args_V();
void func_V_args_Pc(char arg1_Pc);
char func_Pc_args_Pc(char arg1_Pc);
void func_V_args_pPc(char* arg1_pPc);
// Char*
char* func_pPcStr_args_V();
void func_V_args_pPcChr(char* arg1_pPc);
void func_V_args_pPcStr(char* arg1_pPc);
char func_Pc_args_Pc_pPc_pPc(char arg1_Pc,char* arg2_pPc,char* arg3_pPc);
@ -46,11 +55,35 @@ 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_pppPc_args_V(); //DONE
void func_V_args_ppPc(char** arg1_ppPc); //
char*** func_pppPc_args_pppPc(char*** arg1_ppPc);
char*** func_pppPc_args_pppPc_ppPc(char*** arg1_ppPc,char** arg2_ppPc);
// Structs
// =======
// By value
struct _PS func__PS_args_V(); //DONE
TTAPS func_TTAPS_args_V(); //DONE
// By pointer
TAPS* func_pTAPS_args_V(); //DONE
TAPS** func_ppTAPS_args_V(); //DONE
TAPS*** func_pppTAPS_args_V(); //DONE
void func_V_args_pTAPS(TAPS* arg1_pTAPS); //DONE
TAPS** func_ppTAPS_args_ppTAPS(TAPS** arg1_ppTAPS);
TAPS*** func_pppTAPS_args_pppTAPS(TAPS*** arg1_pppTAPS);
char** func_ppPc_args_ppPc(char** arg1_ppPc);
char** func_ppPc_args_ppPc_ppPc(char** arg1_ppPc,char** arg2_ppPc);

138
examples/lib/lib_test/lib_test.c

@ -17,7 +17,7 @@ int func_Pi_args_V() {
}
void func_V_args_Pi(int arg1_P) {
printf("%i", arg1_P);
printf("DEBUG: %i\n", arg1_P);
}
int func_Pi_args_Pi(int arg1_P) {
@ -40,17 +40,30 @@ char func_Pc_args_V() {
}
void func_V_args_Pc(char arg1_Pc) {
printf("%c", arg1_Pc);
printf("DEBUG: %c\n", arg1_Pc);
}
char func_Pc_args_Pc(char arg1_Pc) {
return toupper(arg1_Pc);
}
void func_V_args_pPc(char* arg1_pPc) {
// Char*
char* func_pPcStr_args_V() {
char *ret = (char*) calloc(4,sizeof (char));
strcpy(ret,"pEp");
return ret;
}
void func_V_args_pPcChr(char* arg1_pPc) {
*arg1_pPc = toupper(*arg1_pPc);
}
void func_V_args_pPcStr(char* arg1_pPc) {
for(int i = 0; arg1_pPc[i] != '\0'; i++) {
arg1_pPc[i] = toupper(arg1_pPc[i]);
}
}
char func_Pc_args_Pc_pPc_pPc(char arg1_Pc,char* arg2_pPc,char* arg3_pPc){
*arg2_pPc = toupper(*arg2_pPc);
*arg3_pPc = toupper(*arg3_pPc);
@ -63,45 +76,128 @@ const char* func_pPcc_args_V() {
}
void func_V_args_pPcc(const char* arg1_pPcc) {
printf("%s", arg1_pPcc);
printf("DEBUG: %s\n", arg1_pPcc);
}
const char* func_pPcc_args_pPcc(const char* arg1_pPcc) {
return strdup(arg1_pPcc);
return arg1_pPcc;
}
const char* func_pPcc_args_pPcc_pPcc(const char* arg1_pPcc,const char* arg2_pPcc) {
printf("%s", arg1_pPcc);
printf("%s", arg2_pPcc);
return strdup(arg1_pPcc);
printf("DEBUG: %s\n", arg1_pPcc);
printf("DEBUG: %s\n", arg2_pPcc);
return arg1_pPcc;
}
// String-by-ref (char**)
char** func_ppPc_args_V() {
char* ret = (char*)calloc(23,sizeof(char));
ret = "pEp";
return &ret;
char* ret = (char*)calloc(4,sizeof(char));
strcpy(ret,"pEp");
char** pp_ret = (char**)calloc(1,sizeof(char**));
pp_ret = &ret;
return pp_ret;
}
char*** func_pppPc_args_V() {
char* ret = (char*)calloc(4,sizeof(char));
strcpy(ret,"pEp");
char** pp_ret = (char**)calloc(1,sizeof(char**));
pp_ret = &ret;
char*** ppp_ret = (char***)calloc(1,sizeof(char***));
ppp_ret = &pp_ret;
return ppp_ret;
}
void func_V_args_ppPc(char** arg1_ppPc) {
*arg1_ppPc = (char*) calloc(23, sizeof (char));
*arg1_ppPc = "pEp";
*arg1_ppPc = NULL;
char* newstr = (char*) calloc(4,sizeof (char ));
strcpy(newstr,"pEp");
*arg1_ppPc = newstr;
}
char** func_ppPc_args_ppPc(char** arg1_ppPc) {
*arg1_ppPc = (char*) calloc(23, sizeof (char));
*arg1_ppPc = "pEp";
char*** func_pppPc_args_pppPc(char*** arg1_ppPc) {
**arg1_ppPc = NULL;
char* newstr = (char*) calloc(4,sizeof (char ));
strcpy(newstr,"pEp");
**arg1_ppPc = newstr;
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";
char*** func_pppPc_args_pppPc_ppPc(char*** arg1_ppPc,char** arg2_ppPc) {
**arg1_ppPc = NULL;
*arg2_ppPc = NULL;
char* newstr = (char*) calloc(4,sizeof (char ));
strcpy(newstr,"pEp");
**arg1_ppPc = newstr;
*arg2_ppPc = newstr;
return arg1_ppPc;
}
struct _PS func__PS_args_V() {
struct _PS* ret = (struct _PS*)malloc(sizeof(struct _PS));
ret->field__P_1=23;
ret->field__P_2=23;
return *ret;
}
TTAPS func_TTAPS_args_V() {
TTAPS* ret = (TTAPS*)malloc(sizeof(TTAPS));
ret->field__P_1=23;
ret->field__P_2=23;
return *ret;
}
TAPS* func_pTAPS_args_V() {
TAPS* ret = (TAPS*)malloc(sizeof(TAPS));
ret->field__P_1 = 23;
ret->field__P_2 = 23;
return ret;
}
TAPS** func_ppTAPS_args_V() {
TAPS* ret = (TAPS*)malloc(sizeof(TAPS));
ret->field__P_1 = 23;
ret->field__P_2 = 23;
TAPS** pp_ret = (TAPS**) malloc(sizeof (TAPS**));
pp_ret = &ret;
return pp_ret;
}
TAPS*** func_pppTAPS_args_V() {
TAPS* ret = (TAPS*)malloc(sizeof(TAPS));
ret->field__P_1 = 23;
ret->field__P_2 = 23;
TAPS** pp_ret = (TAPS**) malloc(sizeof (TAPS**));
pp_ret = &ret;
TAPS*** ppp_ret = (TAPS***) malloc(sizeof (TAPS***));
ppp_ret = &pp_ret;
return ppp_ret;
}
void func_V_args_pTAPS(TAPS* arg1_pTAPS) {
arg1_pTAPS->field__P_1 = 23;
arg1_pTAPS->field__P_2 = 23;
}
TAPS** func_ppTAPS_args_ppTAPS(TAPS** arg1_ppTAPS) {
*arg1_ppTAPS = NULL;
TAPS* newstr = (TAPS*) malloc(sizeof (TAPS));
newstr->field__P_1 = 23;
newstr->field__P_2 = 23;
*arg1_ppTAPS = newstr;
return arg1_ppTAPS;
}
TAPS*** func_pppTAPS_args_pppTAPS(TAPS*** arg1_pppTAPS) {
**arg1_pppTAPS = NULL;
TAPS* newstr = (TAPS*) malloc(sizeof (TAPS));
newstr->field__P_1 = 23;
newstr->field__P_2 = 23;
**arg1_pppTAPS = newstr;
return arg1_pppTAPS;
}
// Variables
// =========

Loading…
Cancel
Save