+1660419119 (Sat Aug 13 2022 21:31:59 GMT+0200 (Central European Summer Time))
+Updated README and fixed error on example images. Removed deleted dependencies. Fixed AVL tree bug.
+
1660415513 (Sat Aug 13 2022 20:31:53 GMT+0200 (Central European Summer Time))
Added README and images. Fixed random thing in changelog.
## Example
Loading and debugging|Showing and removing tags
:-------------------------:|:-------------------------:
- | 
+ | 
inputBuffer *in = newInputBuffer();
- /*database *test = newDatabase("miDB");
+ /*database *test = newDatabase("miDB");
addFileTag(test, "vaca.png", "naturalezas");
addFileTags(test, "terry-davis.jpg", 3, "holyC", "programmer", "very cool");
addFileTag(test, "vaca.png", "lovely");
addFileTags(test, "vaca.png", 3, "nature", "animal", "very cool");
addFileTag(test, "terry-davis.jpg", "based");
+
+ printDatabase(test);
+
+ debugDatabase(test);
storeDatabase(test, "db.db");
+
+ test = loadDatabase("db.db");
- printDatabase(db);
+ printDatabase(test);
- debugDatabase(db);
+ debugDatabase(test);
uint64_t *l, i;
- searchFile(db, "terry-davis.jpg", 0, &l, &i);
+ searchFile(test, "terry-davis.jpg", 0, &l, &i);
printf("Tags with file 'terry-davis.jpg':\n");
for(uint64_t j = 0; j < i; ++j){
- printf("\t%s\n", db->ltags->table[l[j]]);
+ printf("\t%s\n", test->ltags->table[l[j]]);
}*/
return 0;
}
-static node *arrayToNodes(uint64_t *array, uint64_t i, uint64_t maxNodes){
- if(i >= maxNodes*2){
+static node *arrayToNodes(uint64_t *array, uint64_t pos, uint64_t maxNodes){
+ if(pos >= maxNodes*2){
return NULL;
}
- node *n = newNode(array[i+0], array[i+1]);
- n->left = arrayToNodes(array, (2*i + 1)*2, maxNodes);
- n->right = arrayToNodes(array, (2*i + 2)*2, maxNodes);
+ uint64_t h = array[pos+0], i = array[pos+1];
+ if(h == UINTMAX_MAX && i == UINTMAX_MAX){
+ return NULL;
+ }
+ node *n = newNode(h, i);
+ n->left = arrayToNodes(array, (2*pos + 1)*2, maxNodes);
+ n->right = arrayToNodes(array, (2*pos + 2)*2, maxNodes);
return n;
}