diff options
Diffstat (limited to 'src/ctl.c')
-rw-r--r-- | src/ctl.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -1877,19 +1877,21 @@ static int | |||
1877 | fun_start (struct json_value *result, struct prog *prog) | 1877 | fun_start (struct json_value *result, struct prog *prog) |
1878 | { | 1878 | { |
1879 | if (prog->v.p.status == status_disabled) | 1879 | switch (prog->v.p.status) |
1880 | { | 1880 | { |
1881 | case status_disabled: | ||
1881 | prog->v.p.comp->flags &= ~CF_DISABLED; | 1882 | prog->v.p.comp->flags &= ~CF_DISABLED; |
1882 | prog->v.p.status = status_enabled; | 1883 | prog->v.p.status = status_enabled; |
1883 | json_object_set_string (result, "status", "OK"); | 1884 | json_object_set_string (result, "status", "OK"); |
1884 | } | 1885 | break; |
1885 | else if (prog->v.p.status == status_sleeping) | 1886 | |
1886 | { | 1887 | case status_sleeping: |
1888 | case status_finished: | ||
1887 | prog->v.p.status = status_enabled; | 1889 | prog->v.p.status = status_enabled; |
1888 | prog->v.p.failcount = 0; | 1890 | prog->v.p.failcount = 0; |
1889 | prog->v.p.timestamp = 0; | 1891 | prog->v.p.timestamp = 0; |
1890 | json_object_set_string (result, "status", "OK"); | 1892 | json_object_set_string (result, "status", "OK"); |
1891 | } | 1893 | break; |
1892 | else | 1894 | |
1893 | { | 1895 | default: |
1894 | json_object_set_string (result, "status", "ER"); | 1896 | json_object_set_string (result, "status", "ER"); |
1895 | json_object_set_string (result, "error_message", "already running"); | 1897 | json_object_set_string (result, "error_message", "already running"); |