From 60aa2d21489940373f29b394e81fef00c3bf85ba Mon Sep 17 00:00:00 2001 From: Etienne Brateau <etienne.brateau@ensiie.fr> Date: Wed, 30 Jan 2019 17:57:27 +0100 Subject: [PATCH] Move some function into attrs files --- Makefile | 2 +- include/attrs.h | 10 ++++++ src/attrs.c | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ src/log.c | 92 +---------------------------------------------- 4 files changed, 107 insertions(+), 92 deletions(-) create mode 100644 include/attrs.h create mode 100644 src/attrs.c diff --git a/Makefile b/Makefile index b0da43a..81b45c6 100644 --- a/Makefile +++ b/Makefile @@ -118,7 +118,7 @@ TOOLOBJ = $(SIMOBJ) \ $(TARGET_DIR)/screen.o $(TARGET_DIR)/node.o \ $(TARGET_DIR)/tool.o $(TARGET_DIR)/utils.o \ $(TARGET_DIR)/pagewriter.o $(TARGET_DIR)/pagereader.o \ - $(TARGET_DIR)/configreader.o + $(TARGET_DIR)/configreader.o $(TARGET_DIR)/attrs.o $(TARGET_DIR)/ana/%.o: $(SRC_DIR)/ana/%.c diff --git a/include/attrs.h b/include/attrs.h new file mode 100644 index 0000000..5622569 --- /dev/null +++ b/include/attrs.h @@ -0,0 +1,10 @@ +#ifndef LOG_ATTRS_H +#define LOG_ATTRS_H +#include "logdef.h" + + +void newattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr); +void disposeattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr); +void copyattrs(log_gattrrec **gattr, log_gattrrec *oldattr, short numattrs, log_kattrrec *kattr); + +#endif diff --git a/src/attrs.c b/src/attrs.c new file mode 100644 index 0000000..ebcd76d --- /dev/null +++ b/src/attrs.c @@ -0,0 +1,95 @@ +#include "attrs.h" +#include "settings.h" +#include <utils/strings.h> + +void newattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr) +{ + short i; + + *gattr = (log_gattrrec *)Malloc(numattrs * gattrrecsize); + for (i = 0; i < numattrs; i++) + { + switch (kattr[i].dtype) + { + + case 'R': + case 'U': + case 'F': + (*gattr)[i].UU.r = kattr[i].UU.U82.r; + break; + + case 'I': + case 'H': + (*gattr)[i].UU.U73.i1 = kattr[i].UU.U73.i1; + break; + + case 'C': + (*gattr)[i].UU.c = (char *)Malloc(kattr[i].prec + 1L); + strcpy((*gattr)[i].UU.c, kattr[i].UU.c); + break; + + case 'A': + (*gattr)[i].UU.sp = strdup(kattr[i].UU.sp); + break; + + case 'B': + (*gattr)[i].UU.b = kattr[i].UU.b; + break; + + case 'V': + (*gattr)[i].UU.nv = kattr[i].UU.U86.dv; + break; + } + + (*gattr)[i].blnk = kattr[i].blnk; + (*gattr)[i].changed = false; + } +} + + +void disposeattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr) +{ + short i; + + for (i = 0; i < numattrs; i++) + { + switch (kattr[i].dtype) + { + + case 'C': + Free((*gattr)[i].UU.c); + break; + + case 'A': + strdispose(&(*gattr)[i].UU.sp); + break; + } + } + Free(*gattr); +} + + +void copyattrs(log_gattrrec **gattr, log_gattrrec *oldattr, short numattrs, log_kattrrec *kattr) +{ + short i; + + *gattr = (log_gattrrec *)Malloc(numattrs * gattrrecsize); + for (i = 0; i < numattrs; i++) + { + (*gattr)[i] = oldattr[i]; + switch (kattr[i].dtype) + { + + case 'C': + (*gattr)[i].UU.c = (char *)Malloc(kattr[i].prec + 1L); + strcpy((*gattr)[i].UU.c, oldattr[i].UU.c); + break; + + case 'A': + (*gattr)[i].UU.sp = strdup(oldattr[i].UU.sp); + break; + } + } +} + + diff --git a/src/log.c b/src/log.c index 84d93be..feb0626 100644 --- a/src/log.c +++ b/src/log.c @@ -62,6 +62,7 @@ #include "logstructs.h" #include "logglobals.h" +#include "attrs.h" #include "screen.h" #include "label.h" #include "gate.h" @@ -1878,97 +1879,6 @@ static void clearconflicts(log_tool *tool) short getsignal (int d, char *n); - -void newattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr) -{ - short i; - - *gattr = (log_gattrrec *)Malloc(numattrs * gattrrecsize); - for (i = 0; i < numattrs; i++) - { - switch (kattr[i].dtype) - { - - case 'R': - case 'U': - case 'F': - (*gattr)[i].UU.r = kattr[i].UU.U82.r; - break; - - case 'I': - case 'H': - (*gattr)[i].UU.U73.i1 = kattr[i].UU.U73.i1; - break; - - case 'C': - (*gattr)[i].UU.c = (char *)Malloc(kattr[i].prec + 1L); - strcpy((*gattr)[i].UU.c, kattr[i].UU.c); - break; - - case 'A': - (*gattr)[i].UU.sp = strdup(kattr[i].UU.sp); - break; - - case 'B': - (*gattr)[i].UU.b = kattr[i].UU.b; - break; - - case 'V': - (*gattr)[i].UU.nv = kattr[i].UU.U86.dv; - break; - } - - (*gattr)[i].blnk = kattr[i].blnk; - (*gattr)[i].changed = false; - } -} - - -void disposeattrs(log_gattrrec **gattr, short numattrs, log_kattrrec *kattr) -{ - short i; - - for (i = 0; i < numattrs; i++) - { - switch (kattr[i].dtype) - { - - case 'C': - Free((*gattr)[i].UU.c); - break; - - case 'A': - strdispose(&(*gattr)[i].UU.sp); - break; - } - } - Free(*gattr); -} - - -void copyattrs(log_gattrrec **gattr, log_gattrrec *oldattr, short numattrs, log_kattrrec *kattr) -{ - short i; - - *gattr = (log_gattrrec *)Malloc(numattrs * gattrrecsize); - for (i = 0; i < numattrs; i++) - { - (*gattr)[i] = oldattr[i]; - switch (kattr[i].dtype) - { - - case 'C': - (*gattr)[i].UU.c = (char *)Malloc(kattr[i].prec + 1L); - strcpy((*gattr)[i].UU.c, oldattr[i].UU.c); - break; - - case 'A': - (*gattr)[i].UU.sp = strdup(oldattr[i].UU.sp); - break; - } - } -} - /// Link box to the current page. static void linkbox(log_brec *b) { -- GitLab