implemented logFile type in logger.c

This commit is contained in:
Václav Šmejkal 2022-12-04 19:13:05 +01:00
parent 1e7868ead1
commit e2c5791dc7
No known key found for this signature in database
GPG Key ID: FD749A97DF2D5E19

View File

@ -29,7 +29,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <why2/logger/flags.h>
int initLogger(char *directoryPath)
logFile initLogger(char *directoryPath)
{
//VARIABLES
struct stat st;
@ -37,7 +37,7 @@ int initLogger(char *directoryPath)
time_t timeL = time(NULL);
struct tm tm = *localtime(&timeL);
int buffer = 1;
int returning;
int file;
char *filePath = malloc(strlen(directoryPath) + 1 + strlen(LOG_FORMAT) + 1);
char *dateBuffer = malloc(strlen(LOG_FORMAT_START) + 1);
DIR *dir;
@ -60,18 +60,29 @@ int initLogger(char *directoryPath)
}
}
if (buffer > MAX_USAGE) return INVALID_FILE; //MAX_USAGE WAS REACHED
if (buffer > MAX_USAGE) //MAX_USAGE WAS REACHED
{
file = INVALID_FILE;
goto deallocation;
}
sprintf(filePath, LOG_FORMATTING, directoryPath, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, buffer); //GENERATE LOG-NAME
returning = open(filePath, O_WRONLY | O_APPEND | O_CREAT, 0644);
file = open(filePath, O_WRONLY | O_APPEND | O_CREAT, 0644);
deallocation:
//DEALLOCATION
free(filePath);
free(dateBuffer);
closedir(dir);
return returning;
return (logFile)
{
file,
filePath
};
}
void writeLog(int loggerFile, char *logMessage)