reformat code and job array

This commit is contained in:
Rongsong Shen 2025-11-07 16:14:27 +08:00
parent a665ccd4fe
commit 9ff857db9f
64 changed files with 1497 additions and 2476 deletions

View file

@ -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;