The meaning of line.

This commit is contained in:
Chris Cromer 2016-10-17 11:31:42 -03:00
parent c1e9a02032
commit 9c97e62e04
5 changed files with 35 additions and 10 deletions

15
README
View File

@ -1,11 +1,14 @@
Este programa necesita:
libxml2
glibc compilado con iconv
gcc compilado con C11
libxml2
glibc compilado con iconv
gcc compilado con C11
Para compilar el programa:
./configure
make
./configure
make
Para instalar el programa:
make install
make install
Uso del programa:
generarxml --config <archivo>

View File

@ -1,4 +1,4 @@
# Este makefile es el antiguo y mas limitado
# Este makefile es el antiguo y mas limitado, no puede detectar el entorno para verificar que la compilación va a funcionar
CC=gcc
BINDIR=out

View File

@ -2,6 +2,7 @@
#include <stdlib.h>
#include <string.h>
#include <libxml/tree.h>
#include <stdbool.h>
#include "main.h"
#include "readconfig.h"
#include "readfile.h"
@ -15,6 +16,7 @@ int main(int argc, char **argv) {
char *config_file = NULL;
int status;
int i;
bool meaning = false;
atexit(cleanup);
@ -32,11 +34,11 @@ int main(int argc, char **argv) {
#ifdef DEBUG
printf("\targ %d: %s\n", i, argv[i]);
#endif
if ((strcmp(argv[1], "-c") == 0 || strcmp(argv[1], "--config") == 0) && config_file == NULL) {
if ((strcmp(argv[i], "-c") == 0 || strcmp(argv[i], "--config") == 0) && config_file == NULL) {
if (argc > i + 1) {
i++;
config_file = (char *) malloc((strlen(argv[2]) + 1) * sizeof(char *));
strcpy(config_file, argv[2]);
config_file = (char *) malloc((strlen(argv[i]) + 1) * sizeof(char *));
strcpy(config_file, argv[i]);
#ifdef DEBUG
printf("\targ %d: %s\n", i, argv[i]);
#endif
@ -48,6 +50,9 @@ int main(int argc, char **argv) {
printusage(1);
return 1;
}
}
else if ((strcmp(argv[i], "-s") == 0 || strcmp(argv[i], "--significado") == 0) && meaning == false) {
meaning = true;
}
else {
/* Incorrect usage */
@ -59,6 +64,15 @@ int main(int argc, char **argv) {
}
}
if (meaning == true) {
if (config_file != NULL) {
free(config_file);
config_file = NULL;
}
printf("El significado de la vida es: %d\n", MEANING);
return 0;
}
config = (CONFIG *) malloc(sizeof(CONFIG));
config->file = NULL;
config->bible = NULL;
@ -147,4 +161,5 @@ void printusage(int error) {
printf("usage: generarxml [opciones] \n");
printf(" -c, --config <archivo> archivo de configuración\n");
printf(" -s, --significado imprimir el significado de la vida\n");
}

View File

@ -1,3 +1,5 @@
#define MEANING 42
struct configuration {
char *file;
char *bible;

View File

@ -35,6 +35,11 @@ int readfile(CONFIG *config) {
printf("Start chapter: %d\nEnd chapter: %d\n", start, end);
#endif
if (end != 0 && start > end) {
printf("Archivo de configuración invalido!");
return 1;
}
i = 0;
file = fopen("Biblia.txt", "r");