Fossil SCM
changed how /json/branch/list selects whether to look at open/all/closed branches.
Commit
14423f32841334bca0fbed61a152d77771b66e60
Parent
5a81a5ead600ac8…
1 file changed
+24
-4
+24
-4
| --- src/json.c | ||
| +++ src/json.c | ||
| @@ -1569,18 +1569,38 @@ | ||
| 1569 | 1569 | static cson_value * json_branch_list(unsigned int depth){ |
| 1570 | 1570 | cson_value * payV = cson_value_new_object(); |
| 1571 | 1571 | cson_object * pay = cson_value_get_object(payV); |
| 1572 | 1572 | cson_value * listV = cson_value_new_array(); |
| 1573 | 1573 | cson_array * list = cson_value_get_array(listV); |
| 1574 | + char const * range = NULL; | |
| 1574 | 1575 | int showAll = json_getenv_int("all",0); |
| 1575 | 1576 | int showClosed = showAll ? 0 : json_getenv_int("closed",0); |
| 1577 | + int which = 0; | |
| 1576 | 1578 | Stmt q; |
| 1577 | - char const * range = showAll | |
| 1578 | - ? "all" | |
| 1579 | - : (showClosed?"closed":"open"); | |
| 1579 | + range = json_getenv_cstr("range"); | |
| 1580 | + if(!range || !*range){ | |
| 1581 | + range = showAll | |
| 1582 | + ? "all" | |
| 1583 | + : (showClosed?"closed":"open"); | |
| 1584 | + } | |
| 1585 | + assert( (NULL != range) && *range ); | |
| 1586 | + switch(*range){ | |
| 1587 | + case 'c': | |
| 1588 | + range = "closed"; | |
| 1589 | + which = -1; | |
| 1590 | + break; | |
| 1591 | + case 'a': | |
| 1592 | + range = "all"; | |
| 1593 | + which = 1; | |
| 1594 | + break; | |
| 1595 | + default: | |
| 1596 | + range = "open"; | |
| 1597 | + which = 0; | |
| 1598 | + break; | |
| 1599 | + }; | |
| 1580 | 1600 | cson_object_set(pay,"range",cson_value_new_string(range,strlen(range))); |
| 1581 | - branch_prepare_query(&q, showAll?1:(showClosed?-1:0)); | |
| 1601 | + branch_prepare_query(&q, which); | |
| 1582 | 1602 | cson_object_set(pay,"branches",listV); |
| 1583 | 1603 | while((SQLITE_ROW==db_step(&q))){ |
| 1584 | 1604 | cson_value * v = cson_sqlite3_column_to_value(q.pStmt,0); |
| 1585 | 1605 | if(v){ |
| 1586 | 1606 | cson_array_append(list,v); |
| 1587 | 1607 |
| --- src/json.c | |
| +++ src/json.c | |
| @@ -1569,18 +1569,38 @@ | |
| 1569 | static cson_value * json_branch_list(unsigned int depth){ |
| 1570 | cson_value * payV = cson_value_new_object(); |
| 1571 | cson_object * pay = cson_value_get_object(payV); |
| 1572 | cson_value * listV = cson_value_new_array(); |
| 1573 | cson_array * list = cson_value_get_array(listV); |
| 1574 | int showAll = json_getenv_int("all",0); |
| 1575 | int showClosed = showAll ? 0 : json_getenv_int("closed",0); |
| 1576 | Stmt q; |
| 1577 | char const * range = showAll |
| 1578 | ? "all" |
| 1579 | : (showClosed?"closed":"open"); |
| 1580 | cson_object_set(pay,"range",cson_value_new_string(range,strlen(range))); |
| 1581 | branch_prepare_query(&q, showAll?1:(showClosed?-1:0)); |
| 1582 | cson_object_set(pay,"branches",listV); |
| 1583 | while((SQLITE_ROW==db_step(&q))){ |
| 1584 | cson_value * v = cson_sqlite3_column_to_value(q.pStmt,0); |
| 1585 | if(v){ |
| 1586 | cson_array_append(list,v); |
| 1587 |
| --- src/json.c | |
| +++ src/json.c | |
| @@ -1569,18 +1569,38 @@ | |
| 1569 | static cson_value * json_branch_list(unsigned int depth){ |
| 1570 | cson_value * payV = cson_value_new_object(); |
| 1571 | cson_object * pay = cson_value_get_object(payV); |
| 1572 | cson_value * listV = cson_value_new_array(); |
| 1573 | cson_array * list = cson_value_get_array(listV); |
| 1574 | char const * range = NULL; |
| 1575 | int showAll = json_getenv_int("all",0); |
| 1576 | int showClosed = showAll ? 0 : json_getenv_int("closed",0); |
| 1577 | int which = 0; |
| 1578 | Stmt q; |
| 1579 | range = json_getenv_cstr("range"); |
| 1580 | if(!range || !*range){ |
| 1581 | range = showAll |
| 1582 | ? "all" |
| 1583 | : (showClosed?"closed":"open"); |
| 1584 | } |
| 1585 | assert( (NULL != range) && *range ); |
| 1586 | switch(*range){ |
| 1587 | case 'c': |
| 1588 | range = "closed"; |
| 1589 | which = -1; |
| 1590 | break; |
| 1591 | case 'a': |
| 1592 | range = "all"; |
| 1593 | which = 1; |
| 1594 | break; |
| 1595 | default: |
| 1596 | range = "open"; |
| 1597 | which = 0; |
| 1598 | break; |
| 1599 | }; |
| 1600 | cson_object_set(pay,"range",cson_value_new_string(range,strlen(range))); |
| 1601 | branch_prepare_query(&q, which); |
| 1602 | cson_object_set(pay,"branches",listV); |
| 1603 | while((SQLITE_ROW==db_step(&q))){ |
| 1604 | cson_value * v = cson_sqlite3_column_to_value(q.pStmt,0); |
| 1605 | if(v){ |
| 1606 | cson_array_append(list,v); |
| 1607 |