89 lines
1.7 KiB
C
89 lines
1.7 KiB
C
/*
|
|
SlideScript - minimalistic top-down scripting language.
|
|
(C) Copyright 2014-2021 Chris Dorman - some rights reserved (GPLv2)
|
|
|
|
View README file supplied with this software for more details
|
|
*/
|
|
|
|
|
|
#include "deps.h"
|
|
#include "util.h"
|
|
|
|
time_t current_time;
|
|
|
|
void syn_error(char *message)
|
|
{
|
|
printf("%s\n", message);
|
|
exit(1);
|
|
}
|
|
|
|
char *strip_nl (char *string)
|
|
{
|
|
int n = strlen (string);
|
|
|
|
if ((n-- > 0) && (string [n] == '\n'))
|
|
{
|
|
string [n] = NULLBYTE;
|
|
return string;
|
|
}
|
|
else
|
|
{
|
|
/* no newline found, return the original string */
|
|
return string;
|
|
}
|
|
}
|
|
|
|
// Check if a file exists, return code
|
|
int file_exists(char *path) {
|
|
struct stat buffer;
|
|
return (stat (path, &buffer) == 0);
|
|
}
|
|
|
|
int is_dir(char *path)
|
|
{
|
|
struct stat buffer;
|
|
|
|
stat(path, &buffer);
|
|
|
|
// Check for file existence
|
|
if (S_ISDIR(buffer.st_mode))
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|
|
|
|
char *ss_concat(char *str1, char *str2)
|
|
{
|
|
char *dymem = (char *) malloc((strlen(str1)+strlen(str2)) + 3);
|
|
sprintf(dymem, "%s, %s", str1, str2);
|
|
return dymem;
|
|
}
|
|
|
|
void parse_args(int argc, char** argv)
|
|
{
|
|
/* -h flag given, show help */
|
|
if(argc == 2 && strncmp("-h", argv[1], 2) == 0)
|
|
{
|
|
printf("SlideScript - simple top-down scripting language for the average user\n"
|
|
"Arguments:\n\n"
|
|
"-v\t Display version number\n"
|
|
"-h\t Display this help page\n"
|
|
"Usage: %s <filename>\n", argv[0]);
|
|
exit(EXIT_SUCCESS);
|
|
}
|
|
/* -v flag given, show version */
|
|
else if(argc == 2 && strncmp("-v", argv[1], 2) == 0)
|
|
{
|
|
printf("SlideScript %s, Chris Dorman (cddo@riseup.net), 2021\n", VERSION);
|
|
exit(EXIT_SUCCESS);
|
|
}
|
|
|
|
}
|
|
|
|
char *ss_time()
|
|
{
|
|
time(¤t_time);
|
|
|
|
return ctime(¤t_time);
|
|
}
|