The meaning of line.
This commit is contained in:
parent
c1e9a02032
commit
9c97e62e04
15
README
15
README
@ -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>
|
||||
|
@ -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
|
||||
|
21
src/main.c
21
src/main.c
@ -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");
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
#define MEANING 42
|
||||
|
||||
struct configuration {
|
||||
char *file;
|
||||
char *bible;
|
||||
|
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user