Ajout de gestionOffset(), formatText(), convertion() dans tsock.

This commit is contained in:
Simon Paris 2023-01-18 08:49:03 +01:00
parent d6ac78e6ad
commit db51c7f2ec
6 changed files with 67 additions and 47 deletions

View file

@ -25,5 +25,6 @@ struct elementMessage * initElementMessage(void);
struct listeMessage initListeMessage(void); struct listeMessage initListeMessage(void);
void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage); void ajoutListe(struct listeMessage * listeActuel,messageBAL * leMessage);
void afficheListeMessage(struct listeMessage listeActuel); void afficheListeMessage(struct listeMessage listeActuel);
int bal(void);
#endif #endif

View file

@ -20,4 +20,10 @@ void getNonOtpArgs(char ** argv, int argc, int * portNumber, char * ipAddress[])
void formatText(char * actualMessage, int num, int tailleMessage, char messageChar); void formatText(char * actualMessage, int num, int tailleMessage, char messageChar);
int exitMax(int var,int tailleMax); int exitMax(int var,int tailleMax);
char * formatTextParam(int numEmetteur, int numRecepteur, int tailleMessage, int nbMessage);
char * formatTextMessage(char * message, int tailleMessage);
int convertion(int nbr,char *numbuffer);
int gestionOffset(char *actualMessage,int encadrementHaut,int encadrementBas,int nbr);
int testProtocol(void);
#endif #endif

View file

@ -1,6 +1,6 @@
#include "../header/bal.h" #include "../header/bal.h"
int main(void){ int bal(void){
struct listeMessage l = initListeMessage(); struct listeMessage l = initListeMessage();
messageBAL * messageBAL = creeMessage("Renvoi moi mon pdf asap. -Simon",1); messageBAL * messageBAL = creeMessage("Renvoi moi mon pdf asap. -Simon",1);
ajoutListe(&l,messageBAL); ajoutListe(&l,messageBAL);

View file

@ -1,46 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
struct message{
char *data;
int tailleData;
int idEmeteur;
struct message *messageSuiv;
struct message *messageFin;
};
typedef struct {
int idRecept;
struct BAL *BALSuiv;
struct BAL *BALFin;
struct message *message;
}BAL;
struct message creeMessage(char *dataPara,int idEmeteurPara);
int main(void){
char * txt="simon";
struct message *listeMessage =malloc(sizeof(struct message));
*listeMessage=creeMessage(txt,12);
printf("idEmeteur = %d\n",listeMessage->idEmeteur);
printf("data=%s\n",listeMessage->data);
printf("taille data=%d\n",listeMessage->tailleData);
return 0;
}
struct message creeMessage(char *dataPara,int idEmeteurPara){
int tailleDataPara =strlen(dataPara);
struct message * elementMessage =(struct message *)malloc(sizeof(struct message));
elementMessage->idEmeteur=idEmeteurPara;
elementMessage->tailleData=tailleDataPara;
elementMessage->data=(char*)malloc(sizeof(char)*tailleDataPara);
strcpy(elementMessage->data,(dataPara));
return *elementMessage;
}

View file

@ -4,6 +4,7 @@
int main (int argc, char **argv) int main (int argc, char **argv)
{ {
testProtocol();
char usageChar[30]="usage: cmd [-p|-s][-n ##]\n"; char usageChar[30]="usage: cmd [-p|-s][-n ##]\n";
char *ipAddress; char *ipAddress;
extern char *optarg; extern char *optarg;

View file

@ -79,4 +79,62 @@ int exitMax(int var,int tailleMax){
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
return 0; return 0;
}
int testProtocol(void)
{
char * msg;
msg=formatTextParam(7, 8, 64, 1);
printf("%s\n",msg);
msg=formatTextMessage("aaaaaa",6);
printf("%s\n",msg);
return 0;
}
char * formatTextParam(int numEmetteur, int numRecepteur, int tailleMessage, int nbMessage)
{
char * actualMessage = malloc(sizeof(char)*16);
actualMessage[0]='1';
gestionOffset(actualMessage, 4,1,numEmetteur);
gestionOffset(actualMessage, 8,5,numRecepteur);
gestionOffset(actualMessage, 12,9,tailleMessage);
gestionOffset(actualMessage, 16,13,nbMessage);
return actualMessage;
}
char * formatTextMessage(char * message, int tailleMessage)
{
char * actualMessage = malloc(sizeof(char)*(tailleMessage+1));
actualMessage[0]='0';
for(int i=1,j=0;i<tailleMessage+1;i++,j++)
{
actualMessage[i]=message[j];
}
return actualMessage;
}
int convertion(int nbr,char *numbuffer)
{
sprintf(numbuffer, "%d", (nbr)%10000);
return 0;
}
int gestionOffset(char *actualMessage,int encadrementHaut,int encadrementBas,int nbr)
{
int taillechaine=0;
char numbuffer[30];
convertion(nbr,numbuffer);
taillechaine=strlen(numbuffer);
for(int i=encadrementBas;i<encadrementHaut-taillechaine+1;i++)
{
actualMessage[i]=0x20;
}
for(int i=encadrementHaut-taillechaine+1,j=0;i<encadrementHaut+1;i++,j++)
{
actualMessage[i]=numbuffer[j];
}
return encadrementHaut;
} }