Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasdc6 authored Aug 3, 2016
1 parent aa1353c commit 862c241
Show file tree
Hide file tree
Showing 17 changed files with 2,249 additions and 670 deletions.
551 changes: 551 additions & 0 deletions COPYNG

Large diffs are not rendered by default.

682 changes: 12 additions & 670 deletions LICENSE

Large diffs are not rendered by default.

65 changes: 65 additions & 0 deletions makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#Carpetas del proyecto

SOURCE_FOLDER=source
BUILD_FOLDER=build
TEMPORAL_FOLDER=tmp
INSTALL_FOLDER=/usr/bin
MAN=man/en
MAN_PAGES=/usr/share/man/man1
MAN_ES=man/es
MAN_PAGES_ES=/usr/share/man/es/man1

#################################
#Opciones de compilacón
#################################
#Optimizacion: -O0 baja, -O1 normal, -O2 optimizado, -O3 alta
#Muestra todos los Warnings
#Compila en el Standard C99
CFLAGS=-O3 -Wall -std=c99

#Descomentar para debug
#DEBUG=-g

##################################
#Reglas

.PHONY: all clean folders install uninstall reinstall
all: folders c.o $(TEMPORAL_FOLDER) $(BUILD_FOLDER)
gcc $(TEMPORAL_FOLDER)/** -o $(BUILD_FOLDER)/emp $(CFLAGS) $(DEBUG)

c.o:
gcc -c $(SOURCE_FOLDER)/main.c -o $(TEMPORAL_FOLDER)/main.o $(CFLAGS) $(DEBUG)
gcc -c $(SOURCE_FOLDER)/headers.c -o $(TEMPORAL_FOLDER)/headers.o $(CFLAGS) $(DEBUG)
gcc -c $(SOURCE_FOLDER)/oper.c -o $(TEMPORAL_FOLDER)/oper.o $(CFLAGS) $(DEBUG)
gcc -c $(SOURCE_FOLDER)/args.c -o $(TEMPORAL_FOLDER)/args.o $(CFLAGS) $(DEBUG)
gcc -c $(SOURCE_FOLDER)/error.c -o $(TEMPORAL_FOLDER)/error.o $(CFLAGS) $(DEBUG)

clean:
rm -r $(TEMPORAL_FOLDER) $(BUILD_FOLDER)

folders:
-mkdir $(TEMPORAL_FOLDER) $(BUILD_FOLDER)

bytes:
@echo Bytes por archivo:
@wc -c $(SOURCE_FOLDER)/** makefile

char:
@echo Caracteres por archivo:
@wc -m $(SOURCE_FOLDER)/** makefile

lines:
@echo Lineas de codigo por archivo:
@wc -l $(SOURCE_FOLDER)/** makefile

install: $(BUILD_FOLDER)/emp
cp -p $(BUILD_FOLDER)/emp $(INSTALL_FOLDER)
cp -p $(MAN)/emp.1.gz $(MAN_PAGES)
cp -p $(MAN_ES)/emp.1.gz $(MAN_PAGES_ES)

uninstall: $(INSTALL_FOLDER)/emp
rm $(INSTALL_FOLDER)/emp
rm $(MAN_PAGES)/emp.1.gz
rm $(MAN_PAGES_ES)/emp.1.gz

reinstall: uninstall install
127 changes: 127 additions & 0 deletions man/en/emp.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
.TH EMP 1 "Julio 5 2016" "Lucas Di Cunzolo"
.SH NAME
EMP \- A file packager
.SH SYNOPSIS
.B emp
.BR [-]
.BR <option>
.BR <ARCHIVE_NAME>
.BR <i/o>
.BR <ARCHIVE_NAME/DIR>
.PP
.SH DESCRIPTION
Emp stores and extracts files from a tape or disk archive in EMP format.
.PP
.SH OPTION LETTERS
.TP
.B -p / --pack
Pack
.TP
.B -r / --repack
Repack
.TP
.B -u / --unpack
Unpack
.TP
.B -a / --unpack-all
Unpack all
.TP
.B -d / --detail
Detail
.TP
.B -l / --list
List
.PP
.SH I/O
.TP
.B -i / --input
Input archives
.TP
.B -o / --output
Output archives
.TP
.B --outputdir
Output dirección
.PP
.SH DIAGNOSTICS
EMP returns the following exit codes:
.RS
.IP 0
Normal (no errors or warnings detected).
.IP 1
Some files cannot be open during the execution.
.IP 2
Some files cannot be read during the process.
.IP 3
Some files cannot be write during the process.
.IP 4
Some files cannot be create.
.IP 5
The cursor in the file cannot be set.
.IP 6
An error with the quantity of files ingresed.
.IP 7
Can't find the file/s searched.
.IP 8
An error with the input.
.IP 9
An error with the output.
.IP 10
An error with the quantity of options ingresed.
.IP 11
An error during the unpack of files.
.IP 12
A wrong option.
.IP 13
An error opening a directory.
.IP 14
An error with the format of the file of input.
.IP 15
An error with the name of the file of output.
.SH LIMITATIONS
The version 0 cannot pack directories.
.TP
The version 1 include the packing of directories.
.TP
Only can be selected 9 times the option of no-change the name to a file aready exist. After that, the program ends.
.SH EXAMPLE WITH SHORT OPTIONS
.TP
.B emp -p file1 file2 -o package.emp
adds file1 and file2 from current directory to archive package.emp
.TP
.B emp -u file1 -i package.emp [--outputdir /dir]
unpack file1 from package.emp to the directory dir, if outputdir was not specified, the default directory is the current directory
.TP
.B emp -r file3 -o package.emp
add file3 to package.emp
.TP
.B emp -a -i package.emp [--outputdir /dir]
unpack all the files from package.emp to directory dir, if outputdir was not specified, the default directory is the current directory
.TP
.B emp -d file1 -i package.emp
show the details of file1 belonging to package.emp
.TP
.B emp -l [name|date|size] -i package.emp
list the files belonging to package.emp by name, date or size
.SH EXAMPLE WITH LONG OPTIONS
.TP
.B emp --package file1 file2 --output package.emp
adds file1 and file2 from current directory to archive package.emp
.TP
.B emp --unpack file1 --input package.emp [--outputdir /dir]
unpack file1 from package.emp to the directory dir, if outputdir was not specified, the default directory is the current directory
.TP
.B emp --repack file3 --output package.emp
repack file3 to package.emp
.TP
.B emp --unpack-all --input package.emp [--outputdir /dir]
unpack all the files from package.emp to directory dir, if outputdir was not specified, the default directory is the current directory
.TP
.B emp --detail file1 --input package.emp
show the details of file1 belonging to package.emp
.TP
.B emp --list [name|date|size] --input package.emp
list the files belonging to package.emp by name, date or size
.SH AUTHOR
.TP
Written for Lenguaje Seminary C by Lucas Di Cunzolo
Binary file added man/en/emp.1.gz
Binary file not shown.
127 changes: 127 additions & 0 deletions man/es/emp.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
.TH EMP 1 "Julio 5 2016" "Lucas Di Cunzolo"
.SH NOMBRE
EMP \- Empaquetador
.SH SINOPSIS
.B emp
.BR [-]
.BR <opcion>
.BR <ARCHIVO>
.BR <i/o>
.BR <ARCHIVO/DIR>
.PP
.SH DESCRIPCION
Emp almacena y extrae archivos de un archivo almacenado en disco con formato EMP.
.PP
.SH OPCIONES
.TP
.B -p / --pack
Empaqueta
.TP
.B -r / --repack
Rempaqueta
.TP
.B -u / --unpack
Desempaqueta
.TP
.B -a / --unpack-all
Desempaqueta todo
.TP
.B -d / --detail
Detalles
.TP
.B -l / --list
Listar
.PP
.SH I/O
.TP
.B -i / --input
Archivos de entrada
.TP
.B -o / --output
Archivos de salida
.TP
.B --outputdir
Dirección de salida
.PP
.SH DIAGNOSTICOS
EMP retorna los siguientes codigos de salida:
.RS
.IP 0
Normal (sin errores ni warnings detectados).
.IP 1
Algun archivo no pudo ser abierto durante la ejecución.
.IP 2
No se pudo leer algun archivo durante el proceso.
.IP 3
No se pudo escribir algun archivo durante el proceso.
.IP 4
No se pudo crear algun archivo.
.IP 5
No se pudo setear el cursor en el archivo.
.IP 6
Error con la cantidad de archivos ingresados.
.IP 7
No se pudo encontrar el/los archivo/s buscado/s.
.IP 8
Error con la entrada.
.IP 9
Error con la salida.
.IP 10
Error con la cantidad de opciones ingresada.
.IP 11
Error durante el proceso de desempaquetamiento de archivos.
.IP 12
Opción incorrecta.
.IP 13
Error al arbir un directorio.
.IP 14
Error con el formato del archivo de entrada.
.IP 15
Error con el nombre del archivo de salida.
.SH LIMITACIONES
La versión 0 no puede empaquetar directorios.
.TP
La versión 1 incluye el empaquetador de directorios.
.TP
Solo puede seleccionarse 9 veces el no cambiar el nombre a un archivo que ya existe, pasado ese numero tira error.
.SH EJEMPLOS CON OPCIONES CORTAS
.TP
.B emp -p file1 file2 -o package.emp
empaqueta file1 t file2 desde el directorio actual al archivo package.emp
.TP
.B emp -u file1 -i package.emp [--outputdir /dir]
desempaqueta file1 desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual.
.TP
.B emp -r file3 -o package.emp
agrega file3 a package.emp (emp ya contiene archivos)
.TP
.B emp -a -i package.emp [--outputdir /dir]
desempaqueta todos los archivos desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual.
.TP
.B emp -d file1 -i package.emp
muestra los detalles de file1 proveniente de package.emp
.TP
.B emp -l [name|date|size] -i package.emp
lista los archivos provenientes de package.emp por nombre, fecha de ultima modificacion o tamaño (se debe especificar una sola)
.SH EJEMPLOS CON OPCIONES LARGAS
.TP
.B emp --package file1 file2 --output package.emp
empaqueta file1 t file2 desde el directorio actual al archivo package.emp
.TP
.B emp --unpack file1 --input package.emp [--outputdir /dir]
desempaqueta file1 desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual.
.TP
.B emp --repack file3 --output package.emp
agrega file3 a package.emp (package.emp ya contiene archivos)
.TP
.B emp --unpack-all --input package.emp [--outputdir /dir]
desempaqueta todos los archivos desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual.
.TP
.B emp --detail file1 --input package.emp
muestra los detalles de file1 proveniente de package.emp
.TP
.B emp --list [name|date|size] --input package.emp
lista los archivos provenientes de package.emp por nombre, fecha de ultima modificacion o tamaño (se debe especificar una sola)
.SH AUTOR
.TP
Escrito para Seminario de Lenguajes C por Lucas Di Cunzolo
Binary file added man/es/emp.1.gz
Binary file not shown.
Loading

0 comments on commit 862c241

Please sign in to comment.