commit fc484dbd9ae92525bd8907f7a908ae7dffc1f607
parent 4de5b23fc2d16e7b91fdf8386f84b7f5d98cb79e
Auteur: Selve <selve@asteride.xyz>
Date: Sat, 18 Nov 2023 17:25:17 -0500
réorganisation des fichiers
Il y a moins de fichiers .h.
Diffstat:
8 files changed, 52 insertions(+), 96 deletions(-)
diff --git a/Makefile b/Makefile
@@ -8,8 +8,8 @@ PREFIX = "/usr/local/bin"
all: aplat
-aplat: aplat.o tampon.o etq.o txt.o
- ${CC} ${COPT} -o "$@" aplat.o tampon.o etq.o txt.o
+aplat: aplat.o tampon.o
+ ${CC} ${COPT} -o "$@" aplat.o tampon.o
install: aplat
install -m 755 aplat ${PREFIX}/aplat
diff --git a/aplat.c b/aplat.c
@@ -3,8 +3,6 @@
#include <stdlib.h>
#include "tampon.h"
-#include "etq.h"
-#include "txt.h"
#define TLL_ETQ 4096 /* taille initiale du tampon à étiquettes */
#define TLL_TXT 4096 /* taille initiale du tampon à texte */
@@ -218,19 +216,43 @@ prch_jeton(FILE *f, struct tampon *tp, int tp_type)
int
afficher_ligne(struct tampon *etq, struct tampon *txt, int *draps)
{
+ char *c;
+
assert(etq != NULL);
assert(txt != NULL);
assert(draps != NULL);
+ assert(etq->tp != NULL);
+ assert(txt->tp != NULL);
+ assert(etq->pc != NULL);
+ assert(txt->pc != NULL);
+
+ /* étiquettes */
+ for (c = etq->tp; c < etq->pc; c++) {
+ if (*c == '\\')
+ /* les autres /\\./ doivent être préservés */
+ if (*++c != ':')
+ putc('\\', stdout);
+ if (putc(*c, stdout) < 0)
+ return -1;
+ }
+ putc(':', stdout);
- tp_txt_aff(etq);
putc('\t', stdout);
+
+ /* drapeaux */
if (*draps & DRAP_PARG)
putc('(', stdout);
if (*draps & DRAP_PARD)
putc(')', stdout);
*draps = 0;
+
putc('\t', stdout);
- tp_txt_aff(txt);
+
+ /* contenu */
+ for (c = txt->tp; c < txt->pc; c++)
+ if (putc(*c, stdout) < 0)
+ return -1;
+
tp_eff(txt);
putc('\n', stdout);
return 0;
diff --git a/etq.c b/etq.c
@@ -1,49 +0,0 @@
-#include <assert.h>
-#include <stdio.h>
-
-#include "etq.h"
-#include "tampon.h"
-
-/* afficher le contenu d'un tampon etq en sortie standard */
-int
-tp_etq_aff(struct tampon *tp)
-{
- char *c;
-
- assert(tp != NULL);
- assert(tp->tp != NULL);
- assert(tp->pc != NULL);
- assert(tp->pc - tp->tp > 0);
- assert(*tp->tp == ':');
-
- for (c = tp->tp; c < tp->pc; c++) {
- if (*c == '\\')
- /* les autres /\\./ doivent être préservés */
- if (*++c != ':')
- putc('\\', stdout);
- if (putc(*c, stdout) < 0)
- return -1;
- }
- putc(':', stdout);
- return 0;
-}
-
-/* supprimer le domaine cadet */
-int
-tp_etq_rec(struct tampon *tp)
-{
- assert(tp != NULL);
- assert(tp->tp != NULL);
- assert(tp->pc != NULL);
- assert(tp->pc - tp->tp > 1);
- assert(*tp->tp == ':');
-
- --tp->pc;
- while (*--tp->pc != ':')
- ;
- if (tp->pc - tp->tp != 0 && *(tp->pc-1) == '\\') {
- --tp->pc;
- return ETQ_SEP_FICT;
- }
- return ETQ_SEP_REEL;
-}
diff --git a/etq.h b/etq.h
@@ -1,12 +0,0 @@
-#ifndef ETQ_H
-#define ETQ_H
-
-#include "tampon.h"
-
-#define ETQ_SEP_REEL 0 /* séparateur réel */
-#define ETQ_SEP_FICT 1 /* séparateur fictif (échappé) */
-
-int tp_etq_aff(struct tampon *);
-int tp_etq_rec(struct tampon *);
-
-#endif
diff --git a/tampon.c b/tampon.c
@@ -62,3 +62,23 @@ tp_eff(struct tampon *tp)
tp->pc = tp->tp;
}
+
+/* supprimer le domaine cadet */
+int
+tp_etq_rec(struct tampon *tp)
+{
+ assert(tp != NULL);
+ assert(tp->tp != NULL);
+ assert(tp->pc != NULL);
+ assert(tp->pc - tp->tp > 1);
+ assert(*tp->tp == ':');
+
+ --tp->pc;
+ while (*--tp->pc != ':')
+ ;
+ if (tp->pc - tp->tp != 0 && *(tp->pc-1) == '\\') {
+ --tp->pc;
+ return ETQ_SEP_FICT;
+ }
+ return ETQ_SEP_REEL;
+}
diff --git a/tampon.h b/tampon.h
@@ -3,6 +3,9 @@
#define TP_FACT_AGR 2 /* facteur d'agrandissement d'un tampon */
+#define ETQ_SEP_REEL 0 /* séparateur réel */
+#define ETQ_SEP_FICT 1 /* séparateur fictif (échappé) */
+
struct tampon {
char *tp; /* le tampon lui-même */
char *pc; /* ptr vers la prochaine cellule libre */
@@ -13,5 +16,6 @@ int tp_init(struct tampon *, size_t taille);
int tp_ecr(char c, struct tampon *);
int tp_plein(char c,struct tampon *);
void tp_eff(struct tampon *);
+int tp_etq_rec(struct tampon *);
#endif
diff --git a/txt.c b/txt.c
@@ -1,21 +0,0 @@
-#include <assert.h>
-#include <stdio.h>
-
-#include "tampon.h"
-#include "txt.h"
-
-/* afficher le contenu d'un tampon txt en sortie standard */
-int
-tp_txt_aff(struct tampon *tp)
-{
- char *c;
-
- assert(tp != NULL);
- assert(tp->tp != NULL);
- assert(tp->pc != NULL);
-
- for (c = tp->tp; c < tp->pc; c++)
- if (putc(*c, stdout) < 0)
- return -1;
- return 0;
-}
diff --git a/txt.h b/txt.h
@@ -1,8 +0,0 @@
-#ifndef TXT_H
-#define TXT_H
-
-#include "tampon.h"
-
-int tp_txt_aff(struct tampon *);
-
-#endif