FINALLY created code for loading logFile as pointer-to-pointer char
I should probably fix the valgrind issues heh..
This commit is contained in:
parent
f2a62fdb7b
commit
000021b9a2
@ -18,7 +18,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#include <why2/logger/utils.h>
|
#include <why2/logger/utils.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <why2/logger/flags.h>
|
#include <why2/logger/flags.h>
|
||||||
@ -27,4 +29,93 @@ void deallocateLogger(logFile logger)
|
|||||||
{
|
{
|
||||||
close(logger.file);
|
close(logger.file);
|
||||||
free(logger.fileName);
|
free(logger.fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeSpaces(char* string)
|
||||||
|
{
|
||||||
|
char* d = string;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
while (*d == ' ')
|
||||||
|
{
|
||||||
|
++d;
|
||||||
|
}
|
||||||
|
} while ((*string++ = *d++));
|
||||||
|
}
|
||||||
|
|
||||||
|
void decryptLogger(logFile logger) //TODO: Fix valgrind issues
|
||||||
|
{
|
||||||
|
|
||||||
|
FILE *file = fdopen(logger.file, "r"); //OPEN logFile AS FILE POINTER
|
||||||
|
char *rawContent;
|
||||||
|
char **linesContent;
|
||||||
|
int rawContentLength;
|
||||||
|
int lines = 0;
|
||||||
|
int buffer = 0;
|
||||||
|
int buffer2;
|
||||||
|
int buffer3 = 0;
|
||||||
|
//int buffer4 = 0;
|
||||||
|
|
||||||
|
fseek(file, 0, SEEK_END);
|
||||||
|
rawContentLength = ftell(file);
|
||||||
|
rewind(file); //REWIND FILE
|
||||||
|
|
||||||
|
//ALLOCATE rawContent
|
||||||
|
rawContent = malloc(rawContentLength + 1);
|
||||||
|
|
||||||
|
memset(rawContent, '\0', rawContentLength + 1);
|
||||||
|
|
||||||
|
(void) (fread(rawContent, rawContentLength, 1, file) + 1); //TODO: Try to create some function for processing exit value
|
||||||
|
|
||||||
|
//GET lines
|
||||||
|
for (int i = 0; i < rawContentLength; i++)
|
||||||
|
{
|
||||||
|
if (rawContent[i] == '\n') lines++;
|
||||||
|
}
|
||||||
|
|
||||||
|
linesContent = malloc(lines + 1);
|
||||||
|
|
||||||
|
for (int i = 0; i < rawContentLength; i++) //LOAD/SPIT rawContent INTO linesContent
|
||||||
|
{
|
||||||
|
if (rawContent[i] == '\n')
|
||||||
|
{
|
||||||
|
buffer2 = i - buffer;
|
||||||
|
if (buffer != 0) buffer2--;
|
||||||
|
|
||||||
|
//printf("%d\t%d\t%d\n", i, buffer, buffer2);
|
||||||
|
//printf("%d\t%d\n", buffer3, buffer2);
|
||||||
|
linesContent[buffer3] = malloc((buffer2 + 1) - strlen(WRITE_FORMAT));
|
||||||
|
//memset(linesContent[buffer3], '\0', buffer2 + 1);
|
||||||
|
// for (int j = 0; j <= buffer2; j++)
|
||||||
|
// {
|
||||||
|
// linesContent[buffer3][j] = '\0';
|
||||||
|
// }
|
||||||
|
|
||||||
|
for (int j = buffer + strlen(WRITE_FORMAT); j < i; j++)
|
||||||
|
{
|
||||||
|
linesContent[buffer3][j - (buffer + strlen(WRITE_FORMAT))/* - buffer4*/] = rawContent[j];
|
||||||
|
//printf("%d ", j - buffer);
|
||||||
|
//printf("%c", rawContent[j]);
|
||||||
|
}
|
||||||
|
linesContent[buffer3][(buffer2 + 1) - strlen(WRITE_FORMAT)] = '\0';
|
||||||
|
removeSpaces(linesContent[buffer3]);
|
||||||
|
//printf("\n");
|
||||||
|
|
||||||
|
buffer = i;
|
||||||
|
buffer3++;
|
||||||
|
//buffer4 = 1; | e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: Decrypt
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < buffer3; i++)
|
||||||
|
{
|
||||||
|
free(linesContent[i]);
|
||||||
|
}
|
||||||
|
free(linesContent);
|
||||||
|
|
||||||
|
free(rawContent);
|
||||||
|
return;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user