#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>

int main()
{
	char script_path[] = "/home/anonimas/test.c";

	FILE *script_file;
	script_file = fopen(script_path, "r");
	if (script_file == NULL)
	{
		printf("Can't open file");
		return 0;
	}

	//Динамический двумерный массив
	char **script_inmem = NULL;
	unsigned int let = 0; //Прядковый номер знака
	unsigned int str = 0; //Номер строки
	script_inmem = (char**)malloc(sizeof(char*));
	script_inmem[0] = (char*)malloc(sizeof(char));
	if (!script_inmem)
	{
		printf ("Malloc: error allocate memory");
		return 0;
	}
	//Цикл считывания файла
	while (!feof(script_file))
	{
		char buffer = NULL;
		//Цикл считывания строки из файла
		while (!(buffer == '\n'))
		{
			buffer = getc(script_file);
			script_inmem[str][let] = buffer;
			printf("%c", script_inmem[str][let]);
			let++;
			script_inmem[str] = (char*)realloc(script_inmem[str], (let+1)*sizeof(char)); // Добавляем памяти для знака в строке
			if (!script_inmem)
			{
				printf ("Realloc: error allocate memory");
				return 0;
			}
		}
		str++;
		script_inmem = (char**)realloc(script_inmem, (str+1)*sizeof(char*)); //Добовляем памяти для строки
		if (!script_inmem)
		{
			printf ("Realloc: error allocate memory");
			return 0;
		}
		let = 0;
	}
	
	fclose(script_file);
	free(script_inmem);
	return 1;
}