Remove cStuff from repository

This commit is contained in:
Ilja Kartašov 2019-06-19 21:06:25 +02:00
parent 08e771eaa0
commit cbdf7b2523
5 changed files with 0 additions and 356 deletions

View File

@ -1,101 +0,0 @@
/******************************************************************************
*
* Copyright (c) 2017-2019 by Löwenware Ltd
* Please, refer LICENSE file for legal information
*
******************************************************************************/
/**
* @file log.c
* @author Ilja Kartašov <ik@lowenware.com>
* @brief cStuff log module source file
*
* @see https://lowenware.com/
*/
#include <time.h>
#include "log.h"
void
cstuff_log_init(cstuff_log_t self, uint8_t level)
{
self->target = stderr;
self->level = level;
}
void
cstuff_log_release(cstuff_log_t self)
{
if (self->target != stderr)
fclose(self->target);
}
cstuff_retcode_t
cstuff_log_set_file(cstuff_log_t self, const char * filename)
{
FILE * fp;
if ( !(fp = fopen(filename, "a")) )
return CSTUFF_SYSCALL_ERROR;
self->target = fp;
return CSTUFF_SUCCESS;
}
int
cstuff_log_printf(cstuff_log_t self, uint8_t level, const char * format, ...)
{
int result;
va_list vl;
va_start(vl, format);
result = cstuff_log_vprintf(self, level, format, vl);
va_end(vl);
return result;
}
int
cstuff_log_vprintf(cstuff_log_t self,
uint8_t level,
const char * format,
va_list vl)
{
int result;
if (self->level & level)
{
FILE * f = self->target;
char * label;
time_t rawtime;
char strtime[32+1];
struct tm timeinfo;
time (&rawtime);
localtime_r (&rawtime, &timeinfo);
strftime (strtime, 32, "%F %T", &timeinfo);
switch (level)
{
case CSTUFF_LOG_ERROR : label = "!!"; break;
case CSTUFF_LOG_ALERT : label = "~!"; break;
case CSTUFF_LOG_DEBUG : label = "**"; break;
default : label = "--";
}
result = fprintf(f, "%s %s ", strtime, label);
result += vfprintf(f, format, vl);
fputc('\n', f);
result++;
fflush(f);
}
else
result = 0;
return result;
}

View File

@ -1,62 +0,0 @@
/******************************************************************************
*
* Copyright (c) 2017-2019 by Löwenware Ltd
* Please, refer LICENSE file for legal information
*
******************************************************************************/
/**
* @file log.h
* @author Ilja Kartašov <ik@lowenware.com>
* @brief cStuff log module header file
*
* @see https://lowenware.com/cStuff/
*/
#ifndef CSTUFF_LOG_H_557ADEFE_2BE8_4B9B_A894_F08FF64008EF
#define CSTUFF_LOG_H_557ADEFE_2BE8_4B9B_A894_F08FF64008EF
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include "retcode.h"
#define CSTUFF_LOG_OFF (0)
#define CSTUFF_LOG_ERROR (1<<0)
#define CSTUFF_LOG_ALERT (1<<1)
#define CSTUFF_LOG_STATE (1<<2)
#define CSTUFF_LOG_DEBUG (1<<3)
#define CSTUFF_LOG_ALL (0xFF)
struct cstuff_log
{
FILE * target;
uint8_t level;
};
typedef struct cstuff_log * cstuff_log_t;
void
cstuff_log_init(cstuff_log_t self, uint8_t level);
void
cstuff_log_release(cstuff_log_t self);
cstuff_retcode_t
cstuff_log_set_file(cstuff_log_t self, const char * filename);
int
cstuff_log_printf(cstuff_log_t self, uint8_t level, const char * format, ...);
int
cstuff_log_vprintf( cstuff_log_t self,
uint8_t level,
const char * format,
va_list vl );
#endif /* !CSTUFF_LOG_H */

View File

@ -1,28 +0,0 @@
/******************************************************************************
*
* Copyright (c) 2017-2019 by Löwenware Ltd
* Please, refer LICENSE file for legal information
*
******************************************************************************/
/**
* @file retcode.h
* @author Ilja Kartašov <ik@lowenware.com>
* @brief cStuff return codes
*
* @see https://lowenware.com/
*/
#ifndef CSTUFF_RETCODE_H_CBA3C16B_88D6_49F4_966D_DBDA727583FE
#define CSTUFF_RETCODE_H_CBA3C16B_88D6_49F4_966D_DBDA727583FE
typedef enum
{
CSTUFF_MALLOC_ERROR = -2
, CSTUFF_SYSCALL_ERROR = -1
, CSTUFF_SUCCESS = 0
, CSTUFF_IDLE = 1
} cstuff_retcode_t;
#endif /* !CSTUFF_RETCODE_H */

View File

@ -1,104 +0,0 @@
/******************************************************************************
*
* Copyright (c) 2017-2019 by Löwenware Ltd
* Please, refer LICENSE file for legal information
*
******************************************************************************/
/**
* @file string.c
* @author Ilja Kartašov <ik@lowenware.com>
* @brief cStuff string module implementation
*
* @see https://lowenware.com/
*/
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include "string.h"
int
cstuff_strcpy(char **out, const char *in)
{
return cstuff_strncpy(out, in, strlen(in));
}
int
cstuff_strncpy(char **out, const char *in, int len)
{
char *s;
if (!(s = malloc( len + 1 )))
return -1;
strncpy(s, in, len);
s[len]=0;
*out = s;
return len;
}
int
cstuff_strset(char **out, const char *in)
{
return cstuff_strnset(out, in, strlen(in));
}
int
cstuff_strnset(char **out, const char *in, int len)
{
char *s;
if (!(s = realloc(*out, len+1)))
return -1;
strncpy(s, in, len);
s[len] = 0;
*out = s;
return len;
}
int
cstuff_sprintf(char **out, const char *format, ...)
{
int result;
va_list vl;
va_start(vl, format);
result = cstuff_vsprintf(out, format, vl);
va_end(vl);
return result;
}
int
cstuff_vsprintf(char **out, const char *format, va_list args)
{
int result;
va_list vc;
char tmp, *s;
va_copy(vc, args);
result = vsnprintf(&tmp, 1, format, vc);
va_end(vc);
if (!(s = malloc(result + 1)))
return -1;
*out = s;
result = vsnprintf(s, result+1, format, args);
return result;
}

View File

@ -1,61 +0,0 @@
/******************************************************************************
*
* Copyright (c) 2017-2019 by Löwenware Ltd
* Please, refer LICENSE file for legal information
*
******************************************************************************/
/**
* @file string.h
* @author Ilja Kartašov <ik@lowenware.com>
* @brief String module declarations
*
* @see https://lowenware.com/
*/
#ifndef CSTUFF_STRING_H_938B242C_B750_40E9_8B67_A69F2F37EB87
#define CSTUFF_STRING_H_938B242C_B750_40E9_8B67_A69F2F37EB87
#include <stdarg.h>
#include "retcode.h"
/** @brief Copies in string to newly allocated out buffer
* @param out a pointer to an address where new pointer must be stored
* @param in an input string
* @return length of string or -1 if out of memory
*/
int
cstuff_strcpy(char **out, const char *in);
int
cstuff_strncpy(char **out, const char *in, int len);
/** @brief Overwrites content of out buffer with in string using realloc
* @param out a pointer to an address where new string must be stored
* @param in an input string
* @return length of string or -1 if out of memory
*/
int
cstuff_strset(char **out, const char *in);
int
cstuff_strnset(char **out, const char *in, int len);
/** @brief Allocates memory and prints a formatted string into it
* @param out a pointer to an address where new string must be stored
* @param format a format for string (see manual for stdlib sprintf)
* @return length of string or -1 if out of memory
*/
int
cstuff_sprintf(char **out, const char *format, ...);
int
cstuff_vsprintf(char **out, const char *format, va_list args);
#endif /* !CSTUFF_STRING_H */