diff --git a/src/dodo.c b/src/dodo.c index fa6c4de..109bf81 100644 --- a/src/dodo.c +++ b/src/dodo.c @@ -31,27 +31,61 @@ int view_all(sqlite3 *db){ return rc; } -int init_date(date *d){ - time_t rawtime; +int get_today_or_tom(struct tm *d, time_t rawtime, int day_offset){ + + rawtime += SECS_IN_DAY * day_offset; time(&rawtime); - struct tm *local = localtime(&rawtime); - - d->year = local->tm_year + 1900; - d->month = local->tm_mon + 1; - d->day = local->tm_mday; + d = localtime(&rawtime); return 0; } -int get_due_date(filtered_tasks *task, char* due_date){ - date *d = malloc(sizeof(date)); +int get_day_of_week(struct tm *d, time_t rawtime, int target_day_of_week){ + int days_to_add = 0; + time(&rawtime); + d = localtime(&rawtime); - init_date(d); + days_to_add = ( target_day_of_week - d->tm_wday + 7 ) % 7; - printf("%d-%d-%d\n", d->month, d->day, d->year); + if ( days_to_add == 0 ){ + days_to_add = 7; + } + + //d->tm_mday += days_to_add; + //mktime(d); + + return 0; +} + +int get_due_date(filtered_tasks *task, char* passed_date){ + time_t rawtime; + int day_offset = 0; + int day_of_week = 0; // Sunday = 0 Monday = 1 .. Saterday = 6 + struct tm *d; + + if ( x_strcmp(passed_date, "today") == 0 ){ + day_offset = 0; + get_today_or_tom(d, rawtime, day_offset); + } + else if ( x_strcmp(passed_date, "tomorrow") == 0 ) { + day_offset = 1; + get_today_or_tom(d, rawtime, day_offset); + } + else if ( x_strcmp(passed_date, "wed") == 0 ){ + day_of_week = 3; + get_day_of_week(d, rawtime, day_of_week); + } + else{ + task->due_date = passed_date; + } + + task->due_date = malloc(100 * sizeof(char)); + printf("%04d-%02d-%02d", d->tm_year + 1900, d->tm_mon + 1, d->tm_mday); + + } void init_filtered_tasks(filtered_tasks* task){ @@ -64,6 +98,8 @@ void init_filtered_tasks(filtered_tasks* task){ task->due_date = NULL; } + +// TODO: prob should use realloc woops! char* concat_with_mem_cleanup(char* str1, char* str2){ char *temp; diff --git a/src/dodo.h b/src/dodo.h index 6722a02..958325a 100644 --- a/src/dodo.h +++ b/src/dodo.h @@ -1,6 +1,16 @@ #ifndef DODO_H #define DODO_H +#include +#include +#include +#include "sqlite3.h" +#include "x_string.h" +#include "x_curses.h" +#include "x_ctypes.h" +#include "dodo.h" +#include + #define SQLQUERY_MAX 400 #define ARG_MAX 100 #define NUM_TASK_LISTS 3 @@ -13,6 +23,7 @@ #define TODAY_COL_START -1 #define BACKLOG_COL_START (FIXED_COLUMN_WIDTH + 1) #define BLOCKED_COL_START ( 2 * (FIXED_COLUMN_WIDTH + 1) ) +#define SECS_IN_DAY 86400 // TODO maybe I should make another module that is strictly @@ -42,7 +53,7 @@ int view_all(sqlite3 *db); void init_filtered_tasks(filtered_tasks* task); // Due Date stuff -int init_date(date* date); +int init_date(struct tm*, int day_offset); int get_due_date(filtered_tasks *task, char* due_date); // sql generators TODO: might be able to boil this down to 1 func diff --git a/tags b/tags index 46eee5f..ccebff9 100644 --- a/tags +++ b/tags @@ -2834,6 +2834,7 @@ acc src/sqlite3/src/sqlite3.c /^ StrAccum acc;$/;" l function:sqlite3_vsnprintf accError src/sqlite3/src/sqlite3.c /^ u8 accError; \/* SQLITE_NOMEM or SQLITE_TOOBIG *\/$/;" m struct:sqlite3_str typeref:typename:u8 file: active_id src/dodo.h /^ int active_id;$/;" m struct:__anon569311380208 typeref:typename:int addColOffset src/sqlite3/src/sqlite3.c /^ int addColOffset; \/* Offset in CREATE TABLE stmt to add a new column *\/$/;" m struct:Table::__anon176c6ffd240a::__anon176c6ffd2508 typeref:typename:int file: +add_new_task src/dodo.c /^int add_new_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int add_new_task src/dodo.h /^int add_new_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int addrCrTab src/sqlite3/src/sqlite3.c /^ int addrCrTab; \/* Address of OP_CreateBtree on CREATE TABLE *\/$/;" m union:Parse::__anon176c6ffd370a typeref:typename:int file: addrExplain src/sqlite3/src/sqlite3.c /^ int addrExplain; \/* OP_Explain for loop *\/$/;" m struct:ScanStatus typeref:typename:int file: @@ -2963,9 +2964,13 @@ base src/sqlite3/src/sqlite3.c /^ u8 base = infop->base;$/;" l function base src/sqlite3/src/sqlite3.c /^ etByte base; \/* The base for radix conversion *\/$/;" m struct:et_info typeref:typename:etByte file: bft src/sqlite3/src/sqlite3.c /^typedef unsigned bft; \/* Bit Field Type *\/$/;" t typeref:typename:unsigned file: bind_sql_delete_stmt src/dodo.c /^int bind_sql_delete_stmt(filtered_tasks* task, sqlite3_stmt* out_stmt){$/;" f typeref:typename:int +bind_sql_delete_stmt src/dodo.h /^int bind_sql_delete_stmt(filtered_tasks *task, sqlite3_stmt* out_stmt);$/;" p typeref:typename:int bind_sql_insert_stmt src/dodo.c /^int bind_sql_insert_stmt(filtered_tasks* task, sqlite3_stmt* out_stmt){$/;" f typeref:typename:int +bind_sql_insert_stmt src/dodo.h /^int bind_sql_insert_stmt(filtered_tasks *task, sqlite3_stmt* out_stmt);$/;" p typeref:typename:int bind_sql_select_stmt src/dodo.c /^int bind_sql_select_stmt(filtered_tasks* task, sqlite3_stmt* out_stmt){$/;" f typeref:typename:int +bind_sql_select_stmt src/dodo.h /^int bind_sql_select_stmt(filtered_tasks *task, sqlite3_stmt* out_stmt);$/;" p typeref:typename:int bind_sql_update_stmt src/dodo.c /^int bind_sql_update_stmt(filtered_tasks* task, int num_params, sqlite3_stmt* out_stmt){$/;" f typeref:typename:int +bind_sql_update_stmt src/dodo.h /^int bind_sql_update_stmt(filtered_tasks *task, int num_params, sqlite3_stmt* out_stmt);$/;" p typeref:typename:int bom src/sqlite3/src/sqlite3.c /^ u8 bom = 0;$/;" l function:sqlite3VdbeMemHandleBom typeref:typename:u8 file: btreeMask src/sqlite3/src/sqlite3.c /^ yDbMask btreeMask; \/* Bitmask of db->aDb[] entries referenced *\/$/;" m struct:Vdbe typeref:typename:yDbMask file: buf src/sqlite3/src/sqlite3.c /^ char buf[etBUFSIZE]; \/* Conversion buffer *\/$/;" l function:sqlite3_str_vappendf typeref:typename:char[] file: @@ -3050,6 +3055,7 @@ col_name src/dodo.c /^ const unsigned char* col_name;$/;" l function:display_tas col_val src/dodo.c /^ const unsigned char* col_val;$/;" l function:display_task_list typeref:typename:const unsigned char * file: commands README.md /^## commands$/;" s chapter:dodo compare2pow63 src/sqlite3/src/sqlite3.c /^static int compare2pow63(const char *zNum, int incr){$/;" f typeref:typename:int file: +complete_task src/dodo.c /^int complete_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int complete_task src/dodo.h /^int complete_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int computeFloor src/sqlite3/src/sqlite3.c /^static void computeFloor(DateTime *p){$/;" f typeref:typename:void file: computeHMS src/sqlite3/src/sqlite3.c /^static void computeHMS(DateTime *p){$/;" f typeref:typename:void file: @@ -3071,6 +3077,7 @@ ctimestampFunc src/sqlite3/src/sqlite3.c /^static void ctimestampFunc($/;" f typ currentCount src/sqlite3/src/sqlite3.c /^ u32 currentCount; \/* Current number of distinct checkouts *\/$/;" m struct:Mem5Global typeref:typename:u32 file: currentOut src/sqlite3/src/sqlite3.c /^ u32 currentOut; \/* Current checkout, including internal fragmentation *\/$/;" m struct:Mem5Global typeref:typename:u32 file: currentTimeFunc src/sqlite3/src/sqlite3.c /^static void currentTimeFunc($/;" f typeref:typename:void file: +d src/dodo.c /^ date *d = malloc(sizeof(date));$/;" l function:get_due_date typeref:typename:date * file: d src/sqlite3/src/sqlite3.c /^ int d = 0; \/* adjust exponent for shifting decimal point *\/$/;" l function:sqlite3AtoF typeref:typename:int file: d1 src/sqlite3/src/sqlite3.c /^ DateTime d1, d2;$/;" l function:timediffFunc typeref:typename:DateTime file: d2 src/sqlite3/src/sqlite3.c /^ DateTime d1, d2;$/;" l function:timediffFunc typeref:typename:DateTime file: @@ -3121,6 +3128,7 @@ defaultMethods src/sqlite3/src/sqlite3.c /^ static const sqlite3_mem_methods de default_rc src/sqlite3/src/sqlite3.c /^ i8 default_rc; \/* Comparison result if keys are equal *\/$/;" m struct:UnpackedRecord typeref:typename:i8 file: deferredMoveto src/sqlite3/src/sqlite3.c /^ u8 deferredMoveto; \/* A call to sqlite3BtreeMoveto() is needed *\/$/;" m struct:VdbeCursor typeref:typename:u8 file: dekkerMul2 src/sqlite3/src/sqlite3.c /^static void dekkerMul2(volatile double *x, double y, double yy){$/;" f typeref:typename:void file: +del_task src/dodo.c /^int del_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int del_task src/dodo.h /^int del_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int deliberate_fall_through src/sqlite3/src/sqlite3.c /^# define deliberate_fall_through /;" d file: deliberate_fall_through src/sqlite3/src/sqlite3.c /^# define deliberate_fall_through$/;" d file: @@ -3286,11 +3294,6 @@ fts5_tokenizer src/sqlite3/src/sqlite3.h /^typedef struct fts5_tokenizer fts5_to funcFlags src/sqlite3/src/sqlite3.c /^ u32 funcFlags; \/* Some combination of SQLITE_FUNC_* *\/$/;" m struct:FuncDef typeref:typename:u32 file: g_elapsed src/sqlite3/src/sqlite3.c /^static sqlite_uint64 g_elapsed;$/;" v typeref:typename:sqlite_uint64 file: g_start src/sqlite3/src/sqlite3.c /^static sqlite_uint64 g_start;$/;" v typeref:typename:sqlite_uint64 file: -gen_sql_delete_stmt src/dodo.h /^int gen_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int -gen_sql_insert_stmt src/dodo.h /^int gen_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task, char* values/;" p typeref:typename:int -gen_sql_select_stmt src/dodo.h /^int gen_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int -gen_sql_update_stmt src/dodo.h /^int gen_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int -gen_sql_update_stmt_v2 src/dodo.h /^int gen_sql_update_stmt_v2(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int getDigits src/sqlite3/src/sqlite3.c /^static int getDigits(const char *zDate, const char *zFormat, ...){$/;" f typeref:typename:int file: getDoubleArg src/sqlite3/src/sqlite3.c /^static double getDoubleArg(PrintfArguments *p){$/;" f typeref:typename:double file: getIntArg src/sqlite3/src/sqlite3.c /^static sqlite3_int64 getIntArg(PrintfArguments *p){$/;" f typeref:typename:sqlite3_int64 file: @@ -3298,6 +3301,8 @@ getTextArg src/sqlite3/src/sqlite3.c /^static char *getTextArg(PrintfArguments * getVarint src/sqlite3/src/sqlite3.c /^#define getVarint /;" d file: getVarint32 src/sqlite3/src/sqlite3.c /^#define getVarint32(/;" d file: getVarint32NR src/sqlite3/src/sqlite3.c /^#define getVarint32NR(/;" d file: +get_due_date src/dodo.c /^int get_due_date(filtered_tasks *task, char* due_date){$/;" f typeref:typename:int +get_due_date src/dodo.h /^int get_due_date(filtered_tasks *task, char* due_date);$/;" p typeref:typename:int get_num_rows src/dodo.c /^int get_num_rows(sqlite3 *db, char* table, char* status){$/;" f typeref:typename:int get_num_rows src/dodo.h /^int get_num_rows(sqlite3 *db, char* table, char* status);$/;" p typeref:typename:int h src/sqlite3/src/sqlite3.c /^ int h = x.h;$/;" l function:strftimeFunc typeref:typename:int file: @@ -3521,6 +3526,8 @@ incr src/sqlite3/src/sqlite3.c /^ int incr;$/;" l function:sqlite3AtoF typeref: incr src/sqlite3/src/sqlite3.c /^ int incr;$/;" l function:sqlite3Atoi64 typeref:typename:int file: infop src/sqlite3/src/sqlite3.c /^ const et_info *infop; \/* Pointer to the appropriate info structure *\/$/;" l function:sqlite3_str_vappendf typeref:typename:const et_info * file: init src/sqlite3/src/sqlite3.c /^ } init;$/;" m struct:sqlite3 typeref:struct:sqlite3::sqlite3InitInfo file: +init_date src/dodo.c /^int init_date(date *d){$/;" f typeref:typename:int +init_date src/dodo.h /^int init_date(date* date);$/;" p typeref:typename:int init_filtered_tasks src/dodo.c /^void init_filtered_tasks(filtered_tasks* task){$/;" f typeref:typename:void init_filtered_tasks src/dodo.h /^void init_filtered_tasks(filtered_tasks* task);$/;" p typeref:typename:void install Makefile /^install:$/;" t @@ -3588,6 +3595,7 @@ length src/sqlite3/src/sqlite3.c /^ int length; \/* Length of th likely src/sqlite3/src/sqlite3.c /^#define likely(/;" d file: list src/sqlite3/src/sqlite3.c /^ } list;$/;" m union:Mem3Block::__anon176c6ffd3e0a typeref:struct:Mem3Block::__anon176c6ffd3e0a::__anon176c6ffd4008 file: lo src/sqlite3/src/sqlite3.c /^ unsigned int lo, hi;$/;" l function:sqlite3Hwtime typeref:typename:unsigned int file: +local src/dodo.c /^ struct tm *local = localtime(&rawtime);$/;" l function:init_date typeref:struct:tm * file: local_ioerr src/sqlite3/src/sqlite3.c /^static void local_ioerr(){$/;" f typeref:typename:void file: localtime src/sqlite3/src/sqlite3.c /^struct tm *__cdecl localtime(const time_t *);$/;" p typeref:struct:tm * __cdecl file: lockMask src/sqlite3/src/sqlite3.c /^ yDbMask lockMask; \/* Subset of btreeMask that requires a lock *\/$/;" m struct:Vdbe typeref:typename:yDbMask file: @@ -3964,7 +3972,10 @@ notUsed1 src/sqlite3/src/sqlite3.c /^ double notUsed1; \/* Spacer nowValue src/sqlite3/src/sqlite3.c /^ sqlite3StatValueType nowValue[10]; \/* Current value *\/$/;" m struct:sqlite3StatType typeref:typename:sqlite3StatValueType[10] file: nullRow src/sqlite3/src/sqlite3.c /^ u8 nullRow; \/* True if pointing to a row with no data *\/$/;" m struct:VdbeCursor typeref:typename:u8 file: num_cols src/dodo.c /^ int num_cols = 0;$/;" l function:display_task_list typeref:typename:int file: +num_params src/dodo.c /^ int num_params = 0;$/;" l function:complete_task typeref:typename:int file: num_params src/dodo.c /^ int num_params = 0;$/;" l function:prepare_sql_update_stmt typeref:typename:int file: +num_params src/dodo.c /^ int num_params = 0;$/;" l function:update_task typeref:typename:int file: +num_params src/dodo.c /^ int num_params = 0;$/;" l function:update_task_status typeref:typename:int file: num_rows src/dodo.c /^ int num_rows = -1;$/;" l function:display_task_list typeref:typename:int file: offsetof src/sqlite3/src/sqlite3.c /^#define offsetof(/;" d file: okConstFactor src/sqlite3/src/sqlite3.c /^ u8 okConstFactor; \/* OK to factor out constants *\/$/;" m struct:Parse typeref:typename:u8 file: @@ -3996,7 +4007,12 @@ out src/sqlite3/src/sqlite3.c /^ FILE *out;$/;" l function:sqlite3Memsys3Dump t out src/sqlite3/src/sqlite3.c /^ FILE *out;$/;" l function:sqlite3Memsys5Dump typeref:typename:FILE * file: out src/sqlite3/src/sqlite3.c /^ u8 out[64]; \/* Output bytes *\/$/;" m struct:sqlite3PrngType typeref:typename:u8[64] file: out_stmt src/dodo.c /^ sqlite3_stmt *out_stmt;$/;" l function:get_num_rows typeref:typename:sqlite3_stmt * file: +out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:add_new_task typeref:typename:sqlite3_stmt * file: +out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:complete_task typeref:typename:sqlite3_stmt * file: +out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:del_task typeref:typename:sqlite3_stmt * file: out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:display_task_list typeref:typename:sqlite3_stmt * file: +out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:update_task typeref:typename:sqlite3_stmt * file: +out_stmt src/dodo.c /^ sqlite3_stmt* out_stmt;$/;" l function:update_task_status typeref:typename:sqlite3_stmt * file: owner src/sqlite3/src/sqlite3.c /^ volatile DWORD owner; \/* Thread holding this mutex *\/$/;" m struct:sqlite3_mutex typeref:typename:volatile DWORD file: owner src/sqlite3/src/sqlite3.c /^ volatile pthread_t owner; \/* Thread that is within this mutex *\/$/;" m struct:sqlite3_mutex typeref:typename:volatile pthread_t file: p src/sqlite3/src/sqlite3.c /^ HashElem *p;$/;" l function:sqlite3_db_status typeref:typename:HashElem * file: @@ -4449,9 +4465,13 @@ prefix src/sqlite3/src/sqlite3.c /^ etByte prefix; \/* Offset into aP prepFlags src/sqlite3/src/sqlite3.c /^ u8 prepFlags; \/* SQLITE_PREPARE_* flags *\/$/;" m struct:Vdbe typeref:typename:u8 file: prepFlags src/sqlite3/src/sqlite3.c /^ u8 prepFlags; \/* SQLITE_PREPARE_* flags *\/$/;" m struct:Parse typeref:typename:u8 file: prepare_sql_delete_stmt src/dodo.c /^int prepare_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int +prepare_sql_delete_stmt src/dodo.h /^int prepare_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int prepare_sql_insert_stmt src/dodo.c /^int prepare_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task, char* va/;" f typeref:typename:int +prepare_sql_insert_stmt src/dodo.h /^int prepare_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task, char* va/;" p typeref:typename:int prepare_sql_select_stmt src/dodo.c /^int prepare_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int +prepare_sql_select_stmt src/dodo.h /^int prepare_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int prepare_sql_update_stmt src/dodo.c /^int prepare_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int +prepare_sql_update_stmt src/dodo.h /^int prepare_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int prev src/sqlite3/src/sqlite3.c /^ u32 prev; \/* Index in mem3.aPool[] of previous free chunk *\/$/;" m struct:Mem3Block::__anon176c6ffd3e0a::__anon176c6ffd4008 typeref:typename:u32 file: prev src/sqlite3/src/sqlite3.c /^ HashElem *next, *prev; \/* Next and previous elements in the table *\/$/;" m struct:HashElem typeref:typename:HashElem * file: prev src/sqlite3/src/sqlite3.c /^ int next, prev;$/;" l function:memsys5Unlink typeref:typename:int file: @@ -4507,10 +4527,14 @@ rScore src/sqlite3/src/sqlite3.h /^ sqlite3_rtree_dbl rScore; \/* OUT: rXform src/sqlite3/src/sqlite3.c /^ float rXform; \/* Constant used for this transform *\/$/;" m struct:__anon176c6ffd3c08 typeref:typename:float file: randomFill src/sqlite3/src/sqlite3.c /^static void randomFill(char *pBuf, int nByte){$/;" f typeref:typename:void file: rawS src/sqlite3/src/sqlite3.c /^ unsigned rawS : 1; \/* Raw numeric value stored in s *\/$/;" m struct:DateTime typeref:typename:unsigned:1 file: +rawtime src/dodo.c /^ time_t rawtime;$/;" l function:init_date typeref:typename:time_t file: +rc src/dodo.c /^ int rc = 0;$/;" l function:add_new_task typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:bind_sql_delete_stmt typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:bind_sql_insert_stmt typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:bind_sql_select_stmt typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:bind_sql_update_stmt typeref:typename:int file: +rc src/dodo.c /^ int rc = 0;$/;" l function:complete_task typeref:typename:int file: +rc src/dodo.c /^ int rc = 0;$/;" l function:del_task typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:display_task_list typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:get_num_rows typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:opendb typeref:typename:int file: @@ -4518,6 +4542,8 @@ rc src/dodo.c /^ int rc = 0;$/;" l function:prepare_sql_delete_stmt typeref:type rc src/dodo.c /^ int rc = 0;$/;" l function:prepare_sql_insert_stmt typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:prepare_sql_select_stmt typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:prepare_sql_update_stmt typeref:typename:int file: +rc src/dodo.c /^ int rc = 0;$/;" l function:update_task typeref:typename:int file: +rc src/dodo.c /^ int rc = 0;$/;" l function:update_task_status typeref:typename:int file: rc src/dodo.c /^ int rc = 0;$/;" l function:view_all typeref:typename:int file: rc src/main.c /^ int rc = 0;$/;" l function:main typeref:typename:int file: rc src/sqlite3/src/sqlite3.c /^ int rc;$/;" l function:sqlite3VdbeMemTranslate typeref:typename:int file: @@ -7103,7 +7129,13 @@ tab src/sqlite3/src/sqlite3.c /^ } tab;$/;" m union:Table::__anon176c6ffd240a tabFlags src/sqlite3/src/sqlite3.c /^ u32 tabFlags; \/* Mask of TF_* values *\/$/;" m struct:Table typeref:typename:u32 file: table src/dodo.c /^ char* table = "tasks";$/;" l function:display_task_list typeref:typename:char * file: table src/sqlite3/src/sqlite3.c /^ char *table; \/* The table or view to which the trigger applies *\/$/;" m struct:Trigger typeref:typename:char * file: +task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:add_new_task typeref:typename:filtered_tasks * file: +task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:complete_task typeref:typename:filtered_tasks * file: +task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:del_task typeref:typename:filtered_tasks * file: task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:get_num_rows typeref:typename:filtered_tasks * file: +task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:update_task typeref:typename:filtered_tasks * file: +task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:update_task_status typeref:typename:filtered_tasks * file: +tasks src/dodo.c /^ filtered_tasks* tasks = malloc(sizeof(filtered_tasks));$/;" l function:view_tasks typeref:typename:filtered_tasks * file: tblHash src/sqlite3/src/sqlite3.c /^ Hash tblHash; \/* All tables indexed by name *\/$/;" m struct:Schema typeref:typename:Hash file: temp src/dodo.c /^ char *temp;$/;" l function:concat_with_mem_cleanup typeref:typename:char * file: temp src/sqlite3/src/sqlite3.c /^ u8 temp;$/;" l function:sqlite3VdbeMemTranslate typeref:typename:u8 file: @@ -7190,7 +7222,9 @@ uninstall Makefile /^uninstall:$/;" t uniqNotNull src/sqlite3/src/sqlite3.c /^ unsigned uniqNotNull:1; \/* True if UNIQUE and NOT NULL for all columns *\/$/;" m struct:Index typeref:typename:unsigned:1 file: unixepochFunc src/sqlite3/src/sqlite3.c /^static void unixepochFunc($/;" f typeref:typename:void file: unlikely src/sqlite3/src/sqlite3.c /^#define unlikely(/;" d file: +update_task src/dodo.c /^int update_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int update_task src/dodo.h /^int update_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int +update_task_status src/dodo.c /^int update_task_status(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int update_task_status src/dodo.h /^int update_task_status(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int uptr src/sqlite3/src/sqlite3.c /^ typedef u32 uptr;$/;" t typeref:typename:u32 file: uptr src/sqlite3/src/sqlite3.c /^ typedef u64 uptr;$/;" t typeref:typename:u64 file: @@ -7213,6 +7247,7 @@ validHMS src/sqlite3/src/sqlite3.c /^ char validHMS; \/* True (1) if h,m,s validJD src/sqlite3/src/sqlite3.c /^ char validJD; \/* True (1) if iJD is valid *\/$/;" m struct:DateTime typeref:typename:char file: validJulianDay src/sqlite3/src/sqlite3.c /^static int validJulianDay(sqlite3_int64 iJD){$/;" f typeref:typename:int file: validYMD src/sqlite3/src/sqlite3.c /^ char validYMD; \/* True (1) if Y,M,D are valid *\/$/;" m struct:DateTime typeref:typename:char file: +values src/dodo.c /^ char values[ARG_MAX];$/;" l function:add_new_task typeref:typename:char[] file: vfsList src/sqlite3/src/sqlite3.c /^#define vfsList GLOBAL(sqlite3_vfs *, vfsList)/;" d file: vfsList src/sqlite3/src/sqlite3.c /^static sqlite3_vfs * SQLITE_WSD vfsList = 0;$/;" v typeref:typename:sqlite3_vfs * SQLITE_WSD file: vfsUnlink src/sqlite3/src/sqlite3.c /^static void vfsUnlink(sqlite3_vfs *pVfs){$/;" f typeref:typename:void file: @@ -7220,6 +7255,7 @@ viaCoroutine src/sqlite3/src/sqlite3.c /^ unsigned viaCoroutine :1; \/* Impl view src/sqlite3/src/sqlite3.c /^ } view;$/;" m union:Table::__anon176c6ffd240a typeref:struct:Table::__anon176c6ffd240a::__anon176c6ffd2608 file: view_all src/dodo.c /^int view_all(sqlite3 *db){$/;" f typeref:typename:int view_all src/dodo.h /^int view_all(sqlite3 *db);$/;" p typeref:typename:int +view_tasks src/dodo.c /^int view_tasks(sqlite3 *db){$/;" f typeref:typename:int view_tasks src/dodo.h /^int view_tasks(sqlite3 *db);$/;" p typeref:typename:int vtab src/sqlite3/src/sqlite3.c /^ } vtab;$/;" m union:Table::__anon176c6ffd240a typeref:struct:Table::__anon176c6ffd240a::__anon176c6ffd2708 file: vtabOnConflict src/sqlite3/src/sqlite3.c /^ u8 vtabOnConflict; \/* Value to return for s3_vtab_on_conflict() *\/$/;" m struct:sqlite3 typeref:typename:u8 file: