소스 검색

fix: 修复了calloc参数放反的错误

SongZihuan 3 년 전
부모
커밋
ea8f5d7541
8개의 변경된 파일35개의 추가작업 그리고 35개의 파일을 삭제
  1. 10 10
      src/core/env.c
  2. 5 5
      src/core/func.c
  3. 3 3
      src/core/gc.c
  4. 6 6
      src/core/object.c
  5. 7 7
      src/core/var.c
  6. 1 1
      src/deps/regex/regex.c
  7. 2 2
      src/main.c
  8. 1 1
      test/test_env.c

+ 10 - 10
src/core/env.c

@@ -57,7 +57,7 @@ static void mp_NORMAL(af_Message *msg, bool is_gc, af_Environment *env);
 static void mp_ERROR(af_Message *msg, bool is_gc, af_Environment *env);
 
 static af_Core *makeCore(enum GcRunTime grt) {
-    af_Core *core = calloc(sizeof(af_Core), 1);
+    af_Core *core = calloc(1, sizeof(af_Core));
     core->status = core_creat;
     core->protect = makeVarSpaceByCore(NULL, core);
     core->gc_run = grt;
@@ -136,7 +136,7 @@ af_Object *getBaseObject(char *name, af_Environment *env) {
 }
 
 static af_Activity *makeActivity(af_Message *msg_up, af_VarSpaceListNode *vsl, af_Object *belong) {
-    af_Activity *activity = calloc(sizeof(af_Activity), 1);
+    af_Activity *activity = calloc(1, sizeof(af_Activity));
     activity->msg_up = msg_up;
     activity->msg_up_count = 0;
     activity->var_list = vsl;
@@ -284,7 +284,7 @@ void setActivityBtNext(af_Code *bt_next, af_Activity *activity) {
  * makeLiteralDataList是内部函数, 属于可控函数, 因此data在函数内部不再复制
  */
 static af_LiteralDataList *makeLiteralDataList(char *data) {
-    af_LiteralDataList *ld = calloc(sizeof(af_LiteralDataList), 1);
+    af_LiteralDataList *ld = calloc(1, sizeof(af_LiteralDataList));
     ld->literal_data = data;
     return ld;
 }
@@ -308,10 +308,10 @@ void pushLiteralData(char *data, af_Environment *env) {
 }
 
 af_Message *makeMessage(char *type, size_t size) {
-    af_Message *msg = calloc(sizeof(af_Message), 1);
+    af_Message *msg = calloc(1, sizeof(af_Message));
     msg->type = strCopy(type);
     if (size != 0)
-        msg->msg = calloc(size, 1);
+        msg->msg = calloc(1, size);
     msg->size = size;
     return msg;
 }
@@ -434,7 +434,7 @@ af_Message *makeERRORMessageFormate(char *type, af_Environment *env, const char
 }
 
 static af_EnvVar *makeEnvVar(char *name, char *data) {
-    af_EnvVar *var = calloc(sizeof(af_EnvVar), 1);
+    af_EnvVar *var = calloc(1, sizeof(af_EnvVar));
     var->name = strCopy(name);
     var->data = strCopy(data);
     return var;
@@ -454,7 +454,7 @@ static void freeAllEnvVar(af_EnvVar *var) {
 }
 
 static af_EnvVarSpace *makeEnvVarSpace(void) {
-    af_EnvVarSpace *esv = calloc(sizeof(af_EnvVarSpace), 1);
+    af_EnvVarSpace *esv = calloc(1, sizeof(af_EnvVarSpace));
     return esv;
 }
 
@@ -512,7 +512,7 @@ static void mp_ERROR(af_Message *msg, bool is_gc, af_Environment *env) {
 }
 
 af_Environment *makeEnvironment(enum GcRunTime grt) {
-    af_Environment *env = calloc(sizeof(af_Environment), 1);
+    af_Environment *env = calloc(1, sizeof(af_Environment));
     env->core = makeCore(grt);
     env->esv = makeEnvVarSpace();
     /* 生成global对象 */
@@ -571,7 +571,7 @@ bool addVarToProtectVarSpace(af_Var *var, af_Environment *env) {
 }
 
 static af_TopMsgProcess *makeTopMsgProcess(char *type, DLC_SYMBOL(TopMsgProcessFunc) func) {
-    af_TopMsgProcess *mp = calloc(sizeof(af_TopMsgProcess), 1);
+    af_TopMsgProcess *mp = calloc(1, sizeof(af_TopMsgProcess));
     mp->type = strCopy(type);
     mp->func = COPY_SYMBOL(func, TopMsgProcessFunc);
     return mp;
@@ -1043,7 +1043,7 @@ static af_LiteralRegex *makeLiteralRegex(char *pattern, char *func, bool in_prot
     if (rg == NULL)
         return NULL;
 
-    af_LiteralRegex *lr = calloc(sizeof(af_LiteralRegex), 1);
+    af_LiteralRegex *lr = calloc(1, sizeof(af_LiteralRegex));
     lr->rg = rg;
     lr->func = strCopy(func);
     lr->in_protect = in_protect;

+ 5 - 5
src/core/func.c

@@ -10,8 +10,8 @@ static void freeMsgType(char **msg_type);
 static void pushFuncBody(af_FuncBody **base, af_FuncBody *body);
 
 af_ArgCodeList *makeArgCodeList(af_Code *code, size_t size, bool free_code, bool run_in_func) {
-    af_ArgCodeList *acl = calloc(sizeof(af_ArgCodeList), 1);
-    acl->info = calloc(size, 1);
+    af_ArgCodeList *acl = calloc(1, sizeof(af_ArgCodeList));
+    acl->info = calloc(1, size);
     acl->size = size;
     acl->code = code;
     acl->free_code = free_code;
@@ -61,7 +61,7 @@ af_Object *getArgCodeListResult(af_ArgCodeList *acl) {
 }
 
 af_ArgList *makeArgList(char *name, af_Object *obj) {
-    af_ArgList *arg_list = calloc(sizeof(af_ArgList), 1);
+    af_ArgList *arg_list = calloc(1, sizeof(af_ArgList));
     arg_list->name = strCopy(name);
     arg_list->obj = obj;
     gc_addReference(obj);
@@ -109,7 +109,7 @@ bool runArgList(af_ArgList *al, af_VarSpaceListNode *vsl, af_Environment *env){
 }
 
 static af_FuncBody *makeFuncBody(enum af_FuncBodyType type, char **msg_type) {
-    af_FuncBody *fb = calloc(sizeof(af_FuncBody), 1);
+    af_FuncBody *fb = calloc(1, sizeof(af_FuncBody));
     fb->type = type;
     fb->msg_type = msg_type;
     return fb;
@@ -164,7 +164,7 @@ static void pushFuncBody(af_FuncBody **base, af_FuncBody *body) {
 }
 
 af_FuncInfo *makeFuncInfo(enum af_FuncInfoScope scope, enum af_FuncInfoEmbedded embedded, bool is_macro, bool var_this, bool var_func){
-    af_FuncInfo *fi = calloc(sizeof(af_FuncInfo), 1);
+    af_FuncInfo *fi = calloc(1, sizeof(af_FuncInfo));
     fi->scope = scope;
     fi->embedded = embedded;
     fi->is_macro = is_macro;

+ 3 - 3
src/core/gc.c

@@ -43,7 +43,7 @@ static gc_DestructList *freeDestructList(gc_DestructList *dl);
 static pgc_DestructList pushDestructList(af_ObjectData *od, af_Object *func, pgc_DestructList pdl);
 
 static gc_DestructList *makeDestructList(af_ObjectData *od, af_Object *func) {
-    gc_DestructList *dl = calloc(sizeof(gc_DestructList), 1);
+    gc_DestructList *dl = calloc(1, sizeof(gc_DestructList));
     dl->obj = od->base;
     dl->func = func;
     gc_addReference(dl->obj);
@@ -76,7 +76,7 @@ static af_GcList *freeGcList(af_GcList *gl);
 static void freeAllGcList(af_GcList *gl);
 
 static af_GcList *makeGcList(enum af_GcListType type, void *data) {
-    af_GcList *gl = calloc(sizeof(af_GcList), 1);
+    af_GcList *gl = calloc(1, sizeof(af_GcList));
     gl->type = type;
     gl->data = data;
     return gl;
@@ -110,7 +110,7 @@ static pgc_Analyzed makeAnalyzed(struct af_Object *obj, pgc_Analyzed plist) {
     if (obj->gc.info.reachable)
         return plist;
 
-    *plist = calloc(sizeof(gc_Analyzed), 1);
+    *plist = calloc(1, sizeof(gc_Analyzed));
     (*plist)->obj = obj;
     return &((*plist)->next);
 }

+ 6 - 6
src/core/object.c

@@ -24,7 +24,7 @@ static int addAPIToObjectData(DLC_SYMBOL(objectAPIFunc) func, char *api_name, af
  */
 static af_ObjectData * makeObjectData_Pri(char *id, bool free_api, af_ObjectAPI *api, bool allow_inherit, af_Object *base_obj,
                                           af_Environment *env){
-    af_ObjectData *od = calloc(sizeof(af_ObjectData), 1);
+    af_ObjectData *od = calloc(1, sizeof(af_ObjectData));
     od->base = base_obj;
     base_obj->data = od;
     od->id = strCopy(id == NULL ? "Unknow" : id);
@@ -44,7 +44,7 @@ static af_ObjectData * makeObjectData_Pri(char *id, bool free_api, af_ObjectAPI
         od->size = 0;
 
     if (od->size != 0) {
-        od->data = calloc(od->size, 1);
+        od->data = calloc(1, od->size);
         if (init != NULL)
             init(base_obj, od->data, env);
     }
@@ -54,7 +54,7 @@ static af_ObjectData * makeObjectData_Pri(char *id, bool free_api, af_ObjectAPI
 }
 
 static af_Object *makeObject_Pri(char *id, bool free_api, af_ObjectAPI *api, bool allow_inherit, af_Environment *env){
-    af_Object *obj = calloc(sizeof(af_Object), 1);
+    af_Object *obj = calloc(1, sizeof(af_Object));
     obj->belong = NULL;
     makeObjectData_Pri(id, free_api, api, allow_inherit, obj, env);
     gc_addObject(obj, env);
@@ -145,7 +145,7 @@ af_Inherit *makeInherit(af_Object *obj) {
     if (func == NULL || (vs = func(obj)) == NULL)
         return NULL;
 
-    af_Inherit *ih = calloc(sizeof(af_Inherit), 1);
+    af_Inherit *ih = calloc(1, sizeof(af_Inherit));
     ih->vs = vs;
     ih->obj = obj;  // 调用API获取vs
     return ih;
@@ -174,7 +174,7 @@ static af_ObjectAPINode *makeObjectAPINode(DLC_SYMBOL(objectAPIFunc) func, char
     if (func == NULL)
         return NULL;
 
-    af_ObjectAPINode *apin = calloc(sizeof(af_ObjectAPINode), 1);
+    af_ObjectAPINode *apin = calloc(1, sizeof(af_ObjectAPINode));
     apin->api = COPY_SYMBOL(func, objectAPIFunc);
     apin->name = strCopy(api_name);
     return apin;
@@ -194,7 +194,7 @@ static void freeAllObjectAPINode(af_ObjectAPINode *apin) {
 }
 
 af_ObjectAPI *makeObjectAPI(void) {
-    af_ObjectAPI *api = calloc(sizeof(af_ObjectAPI), 1);
+    af_ObjectAPI *api = calloc(1, sizeof(af_ObjectAPI));
     return api;
 }
 

+ 7 - 7
src/core/var.c

@@ -20,7 +20,7 @@ static bool checkReadPermissions(af_Var *var, af_Object *visitor, af_VarSpace *v
 static bool checkWritePermissions(af_Var *var, af_Object *visitor, af_VarSpace *vs);
 
 static af_VarNode *makeVarNode(af_Object *obj, char *id) {
-    af_VarNode *vn = calloc(sizeof(af_VarNode), 1);
+    af_VarNode *vn = calloc(1, sizeof(af_VarNode));
     if (id != NULL)
         vn->id = strCopy(id);
     vn->obj = obj;
@@ -41,7 +41,7 @@ static void freeAllVarNode(af_VarNode *vn) {
 
 af_Var *makeVar(char *name, char p_self, char p_posterity, char p_external, af_Object *obj, af_Environment *env){
     af_VarNode *vn = makeVarNode(obj, NULL);
-    af_Var *var = calloc(sizeof(af_Var), 1);
+    af_Var *var = calloc(1, sizeof(af_Var));
     var->name = strCopy(name);
     var->vn = vn;
     var->permissions[0] = p_self;
@@ -53,7 +53,7 @@ af_Var *makeVar(char *name, char p_self, char p_posterity, char p_external, af_O
 
 af_Var *makeVarByCore(char *name, char p_self, char p_posterity, char p_external, af_Object *obj, af_Core *core){
     af_VarNode *vn = makeVarNode(obj, NULL);
-    af_Var *var = calloc(sizeof(af_Var), 1);
+    af_Var *var = calloc(1, sizeof(af_Var));
     var->name = strCopy(name);
     var->vn = vn;
     var->permissions[0] = p_self;
@@ -84,7 +84,7 @@ void addVarNode(af_Var var, af_Object *obj, char *id) {
 }
 
 static af_VarCup *makeVarCup(af_Var *var) {
-    af_VarCup *vp = calloc(sizeof(af_VarCup), 1);
+    af_VarCup *vp = calloc(1, sizeof(af_VarCup));
     vp->var = var;
     return vp;
 }
@@ -104,7 +104,7 @@ af_VarSpace *makeVarSpace(af_Object *belong, af_Environment *env) {
     if (env->core->status != core_creat && belong == NULL)
         return NULL;
 
-    af_VarSpace *vs = calloc(sizeof(af_VarSpace), 1);
+    af_VarSpace *vs = calloc(1, sizeof(af_VarSpace));
     vs->belong = belong;
     gc_addVarSpace(vs, env);
     return vs;
@@ -114,7 +114,7 @@ af_VarSpace *makeVarSpaceByCore(af_Object *belong, af_Core *core) {
     if (core->status != core_creat && belong == NULL)
         return NULL;
 
-    af_VarSpace *vs = calloc(sizeof(af_VarSpace), 1);
+    af_VarSpace *vs = calloc(1, sizeof(af_VarSpace));
     vs->belong = belong;
     gc_addVarSpaceByCore(vs, core);
     return vs;
@@ -135,7 +135,7 @@ void freeVarSpaceByCore(af_VarSpace *vs, af_Core *core) {
 }
 
 af_VarSpaceListNode *makeVarSpaceList(af_VarSpace *vs) {
-    af_VarSpaceListNode *vsl = calloc(sizeof(af_VarSpaceListNode), 1);
+    af_VarSpaceListNode *vsl = calloc(1, sizeof(af_VarSpaceListNode));
     vsl->vs = vs;
     return vsl;
 }

+ 1 - 1
src/deps/regex/regex.c

@@ -20,7 +20,7 @@ af_Regex *makeRegex(char *pattern) {
         return NULL;
     }
 
-    af_Regex *rg = calloc(sizeof(af_Regex), 1);
+    af_Regex *rg = calloc(1, sizeof(af_Regex));
     rg->pattern = strCopy(pattern);
     rg->re = re;
     return rg;

+ 2 - 2
src/main.c

@@ -6,7 +6,7 @@ size_t getSize(af_Object *obj) {
 }
 
 void initData(af_Object *obj, int **data, af_Environment *env) {
-    *data = calloc(sizeof(int), 1);
+    *data = calloc(1, sizeof(int));
     **data = 100;
 }
 
@@ -53,7 +53,7 @@ af_VarSpace *getShareVS(af_Object *obj) {
 
 bool getAcl(af_ArgCodeList **acl, af_Object *obj, af_Code *code, int **mark, af_Environment *env) {
     *acl = makeArgCodeList(makeElementCode("object", NUL, 0, "Unknown"), 0, true, false);
-    *mark = calloc(sizeof(int), 1);
+    *mark = calloc(1, sizeof(int));
     **mark = 100;
     return true;
 }

+ 1 - 1
test/test_env.c

@@ -6,7 +6,7 @@ size_t getSize(af_Object *obj) {
 }
 
 void initData(af_Object *obj, int **data, af_Environment *env) {
-    *data = calloc(sizeof(int), 1);
+    *data = calloc(1, sizeof(int));
     **data = 100;
 }