reformat code and job array
This commit is contained in:
parent
a665ccd4fe
commit
9ff857db9f
64 changed files with 1497 additions and 2476 deletions
236
src/lib/utils.c
236
src/lib/utils.c
|
|
@ -25,73 +25,52 @@
|
|||
#include "xce/errnox.h"
|
||||
#include "xce/types.h"
|
||||
|
||||
static capn_text chars_to_text_internal(const char* chars)
|
||||
{
|
||||
capn_text data = {
|
||||
.len = strlen(chars),
|
||||
.str = chars,
|
||||
.seg = NULL,
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
capn_text chars_to_text(const char* chars)
|
||||
{
|
||||
if (chars == NULL) {
|
||||
chars = "";
|
||||
}
|
||||
|
||||
return chars_to_text_internal(chars);
|
||||
}
|
||||
|
||||
#define ARGV_INCR_DELTA (16)
|
||||
|
||||
#define FILL_ARGV(rc, argv, argc, maxargc, delta, s) \
|
||||
do { \
|
||||
(rc) = 0; \
|
||||
char* s1; \
|
||||
if (((argc) >= (maxargc))) { \
|
||||
char** p; \
|
||||
int nc, i; \
|
||||
nc = (maxargc) + (delta); \
|
||||
p = (char**)realloc((argv), nc * sizeof(char*)); \
|
||||
if (p == NULL) { \
|
||||
(rc) = -ENOMEM; \
|
||||
break; \
|
||||
} \
|
||||
for (i = (maxargc); i < nc; i++) { \
|
||||
p[i] = NULL; \
|
||||
} \
|
||||
(argv) = p; \
|
||||
(maxargc) = nc; \
|
||||
} \
|
||||
s1 = strdup(s); \
|
||||
if (s1 == NULL) { \
|
||||
(rc) = -ENOMEM; \
|
||||
break; \
|
||||
} \
|
||||
(argv)[argc] = s1; \
|
||||
(argc)++; \
|
||||
#define FILL_ARGV(rc, argv, argc, maxargc, delta, s) \
|
||||
do { \
|
||||
(rc) = 0; \
|
||||
char* s1; \
|
||||
if (((argc) >= (maxargc))) { \
|
||||
char** p; \
|
||||
int nc, i; \
|
||||
nc = (maxargc) + (delta); \
|
||||
p = (char**)realloc((argv), nc * sizeof(char*)); \
|
||||
if (p == NULL) { \
|
||||
(rc) = -ENOMEM; \
|
||||
break; \
|
||||
} \
|
||||
for (i = (maxargc); i < nc; i++) { \
|
||||
p[i] = NULL; \
|
||||
} \
|
||||
(argv) = p; \
|
||||
(maxargc) = nc; \
|
||||
} \
|
||||
s1 = strdup(s); \
|
||||
if (s1 == NULL) { \
|
||||
(rc) = -ENOMEM; \
|
||||
break; \
|
||||
} \
|
||||
(argv)[argc] = s1; \
|
||||
(argc)++; \
|
||||
} while (0)
|
||||
|
||||
#define FREE_ARGV(argv, argc) \
|
||||
do { \
|
||||
int i; \
|
||||
if ((argv) == NULL) { \
|
||||
break; \
|
||||
} \
|
||||
for (i = 0; i < (argc); i++) { \
|
||||
if ((argv)[i] != NULL) { \
|
||||
free((argv)[i]); \
|
||||
(argv)[i] = NULL; \
|
||||
} \
|
||||
} \
|
||||
free(argv); \
|
||||
#define FREE_ARGV(argv, argc) \
|
||||
do { \
|
||||
int i; \
|
||||
if ((argv) == NULL) { \
|
||||
break; \
|
||||
} \
|
||||
for (i = 0; i < (argc); i++) { \
|
||||
if ((argv)[i] != NULL) { \
|
||||
free((argv)[i]); \
|
||||
(argv)[i] = NULL; \
|
||||
} \
|
||||
} \
|
||||
free(argv); \
|
||||
} while (0)
|
||||
|
||||
int parse_argv(char* input,
|
||||
char*** argv)
|
||||
int parse_argv(char* input, char*** argv)
|
||||
{
|
||||
int max_argc = 0;
|
||||
char* arg = NULL;
|
||||
|
|
@ -124,8 +103,7 @@ int parse_argv(char* input,
|
|||
if (isspace(*input)) {
|
||||
if (i > 0) {
|
||||
arg[i] = '\0';
|
||||
FILL_ARGV(rc, *argv, argc, max_argc,
|
||||
ARGV_INCR_DELTA, arg);
|
||||
FILL_ARGV(rc, *argv, argc, max_argc, ARGV_INCR_DELTA, arg);
|
||||
if (rc < 0) {
|
||||
FREE_ARGV(*argv, argc);
|
||||
free(arg);
|
||||
|
|
@ -150,8 +128,7 @@ int parse_argv(char* input,
|
|||
|
||||
if (i > 0) {
|
||||
arg[i] = '\0';
|
||||
FILL_ARGV(rc, *argv, argc, max_argc,
|
||||
ARGV_INCR_DELTA, arg);
|
||||
FILL_ARGV(rc, *argv, argc, max_argc, ARGV_INCR_DELTA, arg);
|
||||
if (rc < 0) {
|
||||
FREE_ARGV(*argv, argc);
|
||||
free(arg);
|
||||
|
|
@ -163,32 +140,9 @@ int parse_argv(char* input,
|
|||
return argc;
|
||||
}
|
||||
|
||||
void free_argv(char** argv, int argc)
|
||||
{
|
||||
FREE_ARGV(argv, argc);
|
||||
}
|
||||
void free_argv(char** argv, int argc) { FREE_ARGV(argv, argc); }
|
||||
|
||||
#if 0
|
||||
void freeup_kvs(int count,
|
||||
xce_kv_t* vals)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (vals == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
if (vals[i].value.which != XceFieldValue_data_svalue) {
|
||||
continue;
|
||||
}
|
||||
|
||||
FREEUP(vals[i].value.u.svalue);
|
||||
}
|
||||
|
||||
FREEUP(vals);
|
||||
}
|
||||
#endif
|
||||
int get_myname(char* name, size_t size) { return gethostname(name, size); }
|
||||
|
||||
char* frame_symbol(int k)
|
||||
{
|
||||
|
|
@ -217,8 +171,7 @@ int xce_vprintf(const char* fmt, va_list ap)
|
|||
if (tlog_get_root() == NULL) {
|
||||
rc = vfprintf(stdout, fmt, ap);
|
||||
} else {
|
||||
rc = tlog_vext(TLOG_INFO, __FILE__, __LINE__,
|
||||
__func__, NULL, fmt, ap);
|
||||
rc = tlog_vext(TLOG_INFO, __FILE__, __LINE__, __func__, NULL, fmt, ap);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
|
@ -250,12 +203,8 @@ int name_to_level(char* lvlname)
|
|||
return TLOG_INFO;
|
||||
}
|
||||
|
||||
static int my_tlog_format(char* buff,
|
||||
int maxlen,
|
||||
struct tlog_loginfo* info,
|
||||
void* userptr,
|
||||
const char* fmt,
|
||||
va_list ap)
|
||||
static int my_tlog_format(char* buff, int maxlen, struct tlog_loginfo* info,
|
||||
void* userptr, const char* fmt, va_list ap)
|
||||
{
|
||||
int len = 0;
|
||||
int total_len = 0;
|
||||
|
|
@ -265,13 +214,19 @@ static int my_tlog_format(char* buff,
|
|||
|
||||
/* format prefix */
|
||||
if (info->level < TLOG_INFO) {
|
||||
len = snprintf(buff, maxlen, "[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d] [%5d] [%6s] [%17s:%-4d] ",
|
||||
tm->year, tm->mon, tm->mday, tm->hour, tm->min, tm->sec, tm->usec / 1000, getpid(),
|
||||
tlog_get_level_string(info->level), info->file, info->line);
|
||||
len = snprintf(
|
||||
buff, maxlen,
|
||||
"[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d] [%5d] [%6s] [%17s:%-4d] ",
|
||||
tm->year, tm->mon, tm->mday, tm->hour, tm->min, tm->sec,
|
||||
tm->usec / 1000, getpid(), tlog_get_level_string(info->level),
|
||||
info->file, info->line);
|
||||
} else {
|
||||
len = snprintf(buff, maxlen, "[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d] [%5d] [%6s] [%22s] ",
|
||||
tm->year, tm->mon, tm->mday, tm->hour, tm->min, tm->sec, tm->usec / 1000, getpid(),
|
||||
tlog_get_level_string(info->level), info->func);
|
||||
len = snprintf(
|
||||
buff, maxlen,
|
||||
"[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d] [%5d] [%6s] [%22s] ",
|
||||
tm->year, tm->mon, tm->mday, tm->hour, tm->min, tm->sec,
|
||||
tm->usec / 1000, getpid(), tlog_get_level_string(info->level),
|
||||
info->func);
|
||||
}
|
||||
|
||||
if (len < 0 || len >= maxlen) {
|
||||
|
|
@ -292,20 +247,16 @@ static int my_tlog_format(char* buff,
|
|||
/* return total length */
|
||||
return total_len;
|
||||
}
|
||||
int mylog_init(char* logfile,
|
||||
char* loglvl,
|
||||
int max_log_size,
|
||||
int max_log_count)
|
||||
int mylog_init(char* logfile, char* loglvl, int max_log_size, int max_log_count)
|
||||
{
|
||||
int flag = 0;
|
||||
int rc = 0;
|
||||
int flag = 0;
|
||||
int rc = 0;
|
||||
|
||||
if (isatty(STDERR_FILENO)) {
|
||||
flag = TLOG_SCREEN_COLOR;
|
||||
}
|
||||
|
||||
rc = tlog_init(logfile, max_log_size,
|
||||
max_log_count, 0, flag);
|
||||
rc = tlog_init(logfile, max_log_size, max_log_count, 0, flag);
|
||||
if (rc >= 0) {
|
||||
rc = tlog_setlevel(name_to_level(loglvl));
|
||||
}
|
||||
|
|
@ -315,22 +266,13 @@ int mylog_init(char* logfile,
|
|||
return rc;
|
||||
}
|
||||
|
||||
int mylog_setlevel(char* level)
|
||||
{
|
||||
return tlog_setlevel(name_to_level(level));
|
||||
}
|
||||
int mylog_setlevel(char* level) { return tlog_setlevel(name_to_level(level)); }
|
||||
|
||||
void mylog_fini()
|
||||
{
|
||||
tlog_exit();
|
||||
}
|
||||
void mylog_fini() { tlog_exit(); }
|
||||
|
||||
static _Thread_local ectx_t ectx;
|
||||
|
||||
void set_error(char* file,
|
||||
char* func,
|
||||
int line,
|
||||
int code)
|
||||
void set_error(char* file, char* func, int line, int code)
|
||||
{
|
||||
ectx.file = file;
|
||||
ectx.func = func;
|
||||
|
|
@ -339,28 +281,21 @@ void set_error(char* file,
|
|||
errno = code;
|
||||
}
|
||||
|
||||
ectx_t* get_ectx()
|
||||
{
|
||||
return &ectx;
|
||||
}
|
||||
ectx_t* get_ectx() { return &ectx; }
|
||||
|
||||
static char* xce_err_str[] = {
|
||||
"invalid job",
|
||||
"invalid worker",
|
||||
"duplicated jobs",
|
||||
"duplicated workers",
|
||||
"bad opcode",
|
||||
"unknown role",
|
||||
"unknown resource",
|
||||
"unknown queue",
|
||||
"unknown group",
|
||||
"internal error",
|
||||
NULL
|
||||
};
|
||||
static char* xce_err_str[] = { "invalid job",
|
||||
"invalid worker",
|
||||
"duplicated jobs",
|
||||
"duplicated workers",
|
||||
"bad opcode",
|
||||
"unknown role",
|
||||
"unknown resource",
|
||||
"unknown queue",
|
||||
"unknown group",
|
||||
"internal error",
|
||||
NULL };
|
||||
|
||||
int xce_strerror_r(int errnum,
|
||||
char* buf,
|
||||
size_t bufsize)
|
||||
int xce_strerror_r(int errnum, char* buf, size_t bufsize)
|
||||
{
|
||||
if (errnum < XCE_ERRNO_BASE) {
|
||||
return strerror_r(errnum, buf, bufsize);
|
||||
|
|
@ -371,14 +306,11 @@ int xce_strerror_r(int errnum,
|
|||
return -1;
|
||||
}
|
||||
|
||||
strncpy(buf, xce_err_str[errnum - XCE_ERRNO_BASE],
|
||||
bufsize);
|
||||
strncpy(buf, xce_err_str[errnum - XCE_ERRNO_BASE], bufsize);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int copy_int_list(int** dst,
|
||||
int* src,
|
||||
int count)
|
||||
int copy_int_list(int** dst, int* src, int count)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -399,8 +331,7 @@ int copy_int_list(int** dst,
|
|||
return count;
|
||||
}
|
||||
|
||||
int copy_strlist(xce_strlist_t* dst,
|
||||
xce_strlist_t src)
|
||||
int copy_strlist(xce_strlist_t* dst, xce_strlist_t src)
|
||||
{
|
||||
if (!dst) {
|
||||
return -1;
|
||||
|
|
@ -428,8 +359,7 @@ int copy_strlist(xce_strlist_t* dst,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
void free_resval_with_idx_list(xce_val_with_idx_t*** vals,
|
||||
int count)
|
||||
void free_resval_with_idx_list(xce_val_with_idx_t*** vals, int count)
|
||||
{
|
||||
xce_val_with_idx_t** resvals = *vals;
|
||||
int i;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue