projects
/
ptask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[ptask.git]
/
src
/
tw.c
diff --git
a/src/tw.c
b/src/tw.c
index
366a0dc
..
e2a7bca
100644
(file)
--- a/
src/tw.c
+++ b/
src/tw.c
@@
-21,18
+21,14
@@
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
-#include <json/json.h>
-
-#include "tw.h"
char *task_exec(char *opts)
{
FILE *f;
char *task_exec(char *opts)
{
FILE *f;
- int ret, s;
+ int ret;
+ size_t s;
char *str, *tmp, *cmd, buf[1024];
char *str, *tmp, *cmd, buf[1024];
- str = NULL;
-
cmd = malloc(strlen("task rc.json.array=on ") + strlen(opts) + 1);
strcpy(cmd, "task rc.json.array=on ");
strcat(cmd, opts);
cmd = malloc(strlen("task rc.json.array=on ") + strlen(opts) + 1);
strcpy(cmd, "task rc.json.array=on ");
strcat(cmd, opts);
@@
-43,13
+39,13
@@
char *task_exec(char *opts)
if (!f) {
perror("popen");
if (!f) {
perror("popen");
+ str = NULL;
goto exit_free;
}
goto exit_free;
}
- str = malloc(1);
- str[0] = '\0';
+ str = strdup("");
while ((s = fread(buf, 1, 1024, f))) {
while ((s = fread(buf, 1, 1024, f))) {
- tmp = malloc(strlen(str) + s + 1);
+ tmp = malloc(strlen(str) + s +
(size_t)
1);
memcpy(tmp, str, strlen(str));
memcpy(tmp + strlen(str), buf, s);
tmp[strlen(str) + s] = '\0';
memcpy(tmp, str, strlen(str));
memcpy(tmp + strlen(str), buf, s);
tmp[strlen(str) + s] = '\0';
@@
-70,6
+66,10
@@
char *task_exec(char *opts)
return str;
}
return str;
}
+#include <json/json.h>
+
+#include "tw.h"
+
static struct json_object *task_exec_json(char *opts)
{
struct json_object *o;
static struct json_object *task_exec_json(char *opts)
{
struct json_object *o;
@@
-143,8
+143,8
@@
char *escape(const char *txt)
result = malloc(2*strlen(txt)+1);
c = result;
result = malloc(2*strlen(txt)+1);
c = result;
- while(*txt) {
- switch(*txt) {
+ while
(*txt) {
+ switch
(*txt) {
case '"':
*c = '\\'; c++;
*c = '"';
case '"':
*c = '\\'; c++;
*c = '"';