From 3b83db7eaf329b61ffd66576fb7a8221311952a5 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Sun, 15 May 2016 18:44:15 +0000
Subject: [PATCH] Nicer output

---
 src/io.c |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/io.c b/src/io.c
index e7461d6..a280b14 100644
--- a/src/io.c
+++ b/src/io.c
@@ -1,3 +1,4 @@
+/* vim: set ts=4 sts=4 sw=4 noet : */
 #include "general.h"
 #include<stdio.h>
 #include "io.h"
@@ -450,18 +451,19 @@
            {"force-from-tape", no_argument,       &(command_line_args.force_from_tape), 1},
 	   {"reset-iteration-count", no_argument, &(command_line_args.reset_iteration_count), 1},
            {"tape",     no_argument,       0, 't'},
+	   {"version", no_argument, 0, 'v'},
            {"output-file",  required_argument, 0, 'o'},
            {"directory",  required_argument, 0, 'd'},
            {"dump-filename", required_argument,0, 'f'},
            {"tape-options",required_argument,0,'c'},
            {"tape-template", required_argument,0,0},
-            {"dump-from-vtk",required_argument,0,0},
+            {"restore-from-vtk",required_argument,0,0},
            {0, 0, 0, 0}
          };
        /* getopt_long stores the option index here. */
        int option_index = 0;
 
-       c = getopt_long (argc, argv, "d:f:o:t:c:",
+       c = getopt_long (argc, argv, "d:f:o:t:c:v",
                         long_options, &option_index);
 
        /* Detect the end of the options. */
@@ -482,10 +484,15 @@
             if(strcmp(long_options[option_index].name,"tape-template")==0){
                 strcpy(command_line_args.tape_templatefull,optarg);
             }
-            if(strcmp(long_options[option_index].name,"dump-from-vtk")==0){
+            if(strcmp(long_options[option_index].name,"restore-from-vtk")==0){
                 strcpy(command_line_args.dump_from_vtk,optarg);
             }
            break;
+	 case 'v':
+		fprintf(stdout,"TRISURF-NG v. %s, compiled on: %s %s.\n", TS_VERSION, __DATE__, __TIME__);
+        	fprintf(stdout,"Programming done by: Samo Penic and Miha Fosnaric\n");
+        	fprintf(stdout,"Released under terms of GPLv3\n");
+		exit(0);
 
          case 'c':
               strcpy(command_line_args.tape_opts,optarg);
@@ -1000,6 +1007,20 @@
 
 
 ts_tape *parsetape(char *filename){
+	FILE *fd = fopen (filename, "r");
+	long length;
+	size_t size;
+	fseek (fd, 0, SEEK_END);
+  	length = ftell (fd);
+	fseek (fd, 0, SEEK_SET);
+	size=fread (tapetxt, 1, length, fd);
+	fclose(fd);
+	if(size);
+	ts_tape *tape=parsetapebuffer(tapetxt);
+	return tape;
+}
+
+ts_tape *parsetapebuffer(char *buffer){
     ts_tape *tape=(ts_tape *)calloc(1,sizeof(ts_tape));
     tape->multiprocessing=calloc(255,sizeof(char));
 
@@ -1038,7 +1059,7 @@
     cfg_t *cfg;    
     ts_uint retval;
     cfg = cfg_init(opts, 0);
-    retval=cfg_parse(cfg, filename);
+    retval=cfg_parse_buf(cfg, buffer);
     if(retval==CFG_FILE_ERROR){
 	fatal("No tape file.",100);
 	}

--
Gitblit v1.9.3