Commit b6ebc494 authored by Julian Rother's avatar Julian Rother
Browse files

Got rid of JSTR_SIZE

parent 9d277ec9
...@@ -9,13 +9,12 @@ static AVRational chapter_time_base = {1, 1}; ...@@ -9,13 +9,12 @@ static AVRational chapter_time_base = {1, 1};
void parse_dict(AVDictionary **d, char *s) void parse_dict(AVDictionary **d, char *s)
{ {
char *val; char *val;
char key[JSTR_SIZE], value[JSTR_SIZE];
for (s = jenter(s); s; s = jnext(s)) for (s = jenter(s); s; s = jnext(s))
{ {
if (val = jstrb(jvalue(s), 0, value)) if (val = jstr(jvalue(s), 0))
av_dict_set(d, jstrb(s, 0, key), val, 0); av_dict_set(d, jstr(s, 0), val, 0);
else else
av_dict_set_int(d, jstrb(s, 0, key), jint(jvalue(s), 0), 0); av_dict_set_int(d, jstr(s, 0), jint(jvalue(s), 0), 0);
} }
} }
......
...@@ -25,7 +25,7 @@ AVFrame *scale_frame(AVFrame *frame, enum AVPixelFormat pix_fmt, ...@@ -25,7 +25,7 @@ AVFrame *scale_frame(AVFrame *frame, enum AVPixelFormat pix_fmt,
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
int err, vidx; int err, vidx;
char lectureid[JSTR_SIZE], *src, *tmp, *dest; char *src, *tmp, *dest;
AVFormatContext *demux, *mux; AVFormatContext *demux, *mux;
AVCodecContext *dec, *enc; AVCodecContext *dec, *enc;
AVPacket pkt; AVPacket pkt;
...@@ -37,10 +37,10 @@ int main(int argc, char *argv[]) ...@@ -37,10 +37,10 @@ int main(int argc, char *argv[])
/* Prepare arguments */ /* Prepare arguments */
jobid = atoi(argv[1]); jobid = atoi(argv[1]);
jstrb(jlookup(argv[4], "lectureid"), "-1", lectureid);
src = mprintf("%s/%s", CONFIG_VIDEOS_RELEASED, jstr(jlookup(argv[4], "path"), "")); src = mprintf("%s/%s", CONFIG_VIDEOS_RELEASED, jstr(jlookup(argv[4], "path"), ""));
tmp = mprintf("%s/.tmp-%i", CONFIG_VIDEOS_TMP, jobid); tmp = mprintf("%s/.tmp-%i", CONFIG_VIDEOS_TMP, jobid);
dest = mprintf("%s/thumbnail/l_%s.jpg", CONFIG_VIDEOS_RELEASED, lectureid); dest = mprintf("%s/thumbnail/l_%s.jpg", CONFIG_VIDEOS_RELEASED,
jstr(jlookup(argv[4], "lectureid"), "0"));
ping_job(jobid, "running", 0); ping_job(jobid, "running", 0);
/* Open src */ /* Open src */
......
...@@ -19,11 +19,11 @@ int ping_job(int id, char *state, char *status, ...); ...@@ -19,11 +19,11 @@ int ping_job(int id, char *state, char *status, ...);
void job_failed(char *msg, ...); void job_failed(char *msg, ...);
/* JSON parser */ /* JSON parser */
#define JSTR_SIZE 100 #define JSON_KEY_SIZE 100
ssize_t jbin(char *s, char *buf, size_t len); ssize_t jbin(char *s, char *buf, size_t len);
char *jstrb(char *s, char *err, char *buf); char *jstrb(char *s, char *err, char *buf, size_t len);
char *jstr(char *s, char *err); #define jstr(s, e) jstrb(s, e, (char[JSON_KEY_SIZE]){0}, JSON_KEY_SIZE)
int jint(char *s, int err); int jint(char *s, int err);
char *jenter(char *s); char *jenter(char *s);
char *jnext(char *s); char *jnext(char *s);
......
...@@ -135,22 +135,16 @@ ssize_t jbin(char *s, char *buf, size_t len) ...@@ -135,22 +135,16 @@ ssize_t jbin(char *s, char *buf, size_t len)
return i; return i;
} }
char *jstrb(char *s, char *err, char *buf) char *jstrb(char *s, char *err, char *buf, size_t len)
{ {
ssize_t res; ssize_t res;
res = jbin(s, buf, JSTR_SIZE); res = jbin(s, buf, len);
if (res == -1 || res+1 >= JSTR_SIZE) if (res == -1 || res+1 >= len)
return err; return err;
buf[res] = 0; buf[res] = 0;
return buf; return buf;
} }
char *jstr(char *s, char *err)
{
static __thread char buf[JSTR_SIZE];
return jstrb(s, err, buf);
}
int jint(char *s, int err) int jint(char *s, int err)
{ {
if (!s) if (!s)
...@@ -199,14 +193,14 @@ char *jvalue(char *s) ...@@ -199,14 +193,14 @@ char *jvalue(char *s)
char *jlookup(char *s, char *key) char *jlookup(char *s, char *key)
{ {
static __thread char buf[JSTR_SIZE]; static __thread char buf[JSON_KEY_SIZE];
if (!s) if (!s)
return 0; return 0;
s = skip_ws(s); s = skip_ws(s);
if (*s != '{') if (*s != '{')
return 0; return 0;
for (s = skip_ws(s+1); s; s = jnext(s)) for (s = skip_ws(s+1); s; s = jnext(s))
if (!strcmp(jstrb(s, "INVALID KEY", buf), key)) if (!strcmp(jstrb(s, "INVALID KEY", BL(buf)), key))
return jvalue(s); return jvalue(s);
return 0; return 0;
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment