Enlève la dépendance à unac pour getRidOfAccents
This commit is contained in:
parent
1f1aa8283a
commit
8e77ed2977
@ -3,7 +3,7 @@ before_install:
|
||||
- mkdir ./{Dep,Donnees}
|
||||
- mkdir ./{Modele,Vue,Controleur}/Dep
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install libsfml-dev libcsfml-dev libcurl4-gnutls-dev libjansson-dev libunac1-dev
|
||||
- sudo apt-get install libsfml-dev libcsfml-dev libcurl4-gnutls-dev libjansson-dev
|
||||
|
||||
language: c
|
||||
|
||||
|
2
Makefile
2
Makefile
@ -1,6 +1,6 @@
|
||||
CC=gcc
|
||||
CFLAGS=-std=c99 -Werror -Wall -Wextra -pedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow
|
||||
LDFLAGS=-std=c99 -Werror -Wall -Wextra -Wpedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow -lm -lcurl -ljansson -lunac
|
||||
LDFLAGS=-std=c99 -Werror -Wall -Wextra -Wpedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow -lm -lcurl -ljansson
|
||||
GFLAGS=-lcsfml-graphics -lcsfml-window -lcsfml-system
|
||||
DEPFLAGS=-MMD -MF
|
||||
OUTPUT=bin/Release/GINPA
|
||||
|
@ -1,5 +1,5 @@
|
||||
CC=gcc
|
||||
CFLAGS=-std=c99 -Werror -Wall -Wextra -pedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow -ljansson -lunac
|
||||
CFLAGS=-std=c99 -Werror -Wall -Wextra -pedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow -ljansson
|
||||
DEPFLAGS=-MMD -MF
|
||||
OUTPUT=../bin/Release/GINPA
|
||||
OBJ=../obj/Release
|
||||
|
@ -126,24 +126,39 @@ char** conversionDates(Point *tabInitial, uint32_t nbElements)
|
||||
|
||||
char* getRidOfAccents(char *const input)
|
||||
{
|
||||
ssize_t input_length = strlen(input);
|
||||
|
||||
char* output = NULL;
|
||||
size_t output_length = 0;
|
||||
|
||||
// On tente une conversion de la chaîne pour virer les accents
|
||||
if(unac_string("UTF-8", input, input_length, &output, &output_length) == -1)
|
||||
char * accent = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ";
|
||||
char * noAccent = "AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy";
|
||||
char * output = calloc(strlen(input), sizeof(char));
|
||||
if(output == NULL)
|
||||
{
|
||||
fprintf(stderr, "Un problème est survenu durant la conversion de la chaîne: \"%s\". Code de retour: %s.\n", input, strerror(errno));
|
||||
if(output != NULL)
|
||||
free(output);
|
||||
fprintf(stderr, "getRidOfAccents -> Allocation mémoire impossilbe : %s\n", strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
uint32_t nbAccent = 0;
|
||||
|
||||
// On peut maintenant libérer l'ancienne chaîne
|
||||
free(input);
|
||||
/*Pour comprendre le code qui suit : les accents
|
||||
* sont codés sur deux cases d'une chaîne de caractères.
|
||||
* Par exemple si une chaine s commence par 'é', s[0]
|
||||
* et s[1] correspondraient au caractère 'é'.*/
|
||||
for(uint32_t i=0; input[i] != '\0';i++)
|
||||
{
|
||||
bool filled = false;
|
||||
for(uint8_t j=0;accent[j] != '\0' ;j+=2)
|
||||
{
|
||||
if (input[i] == accent[j] && input[i+1] == accent[j+1])
|
||||
{
|
||||
output[i - nbAccent] = noAccent[j/2];
|
||||
i++;
|
||||
nbAccent++;
|
||||
filled = true;
|
||||
}
|
||||
}
|
||||
if(filled == false)
|
||||
{
|
||||
output[i - nbAccent] = input[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Et renvoyer la nouvelle !
|
||||
return output;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unac.h>
|
||||
|
||||
#include "../Controleur/controleur.h"
|
||||
|
||||
|
@ -9,9 +9,8 @@
|
||||
* CSFML >= 2.1
|
||||
* libcurl >= 7.38.0-4
|
||||
* libjansson >= 2.7
|
||||
* libunac1 = 1.8.0-6
|
||||
|
||||
→ `# aptitude install git gcc libsfml-dev libcsfml-dev libcurl4-gnutls-dev libjansson-dev libunac1-dev`
|
||||
→ `# aptitude install git gcc libsfml-dev libcsfml-dev libcurl4-gnutls-dev libjansson-dev`
|
||||
|
||||
## How to get, build and run the project ?
|
||||
|
||||
|
Reference in New Issue
Block a user