Overview
Comment: | Added a default time to psuedo entries |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ef5acff5c9392154b06dbf301b7e1711 |
User & Date: | rkeene on 2014-09-09 08:23:32 |
Other Links: | manifest | tags |
Context
2014-09-10
| ||
04:01 | Reduced redundant code check-in: 041086f3fb user: rkeene tags: trunk | |
2014-09-09
| ||
08:23 | Added a default time to psuedo entries check-in: ef5acff5c9 user: rkeene tags: trunk | |
08:19 | Updated to keep track of the upstream OS name and CPU check-in: ed608e7fee user: rkeene tags: trunk | |
Changes
Modified appfs.c from [4cd4495e1d] to [799a556739].
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #define APPFS_DEBUG(x...) { fprintf(stderr, "[debug] %s:%i:%s: ", __FILE__, __LINE__, __func__); fprintf(stderr, x); fprintf(stderr, "\n"); } static pthread_key_t interpKey; struct appfs_thread_data { sqlite3 *db; const char *cachedir; }; struct appfs_thread_data globalThread; typedef enum { APPFS_OS_UNKNOWN, APPFS_OS_ALL, | > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #define APPFS_DEBUG(x...) { fprintf(stderr, "[debug] %s:%i:%s: ", __FILE__, __LINE__, __func__); fprintf(stderr, x); fprintf(stderr, "\n"); } static pthread_key_t interpKey; struct appfs_thread_data { sqlite3 *db; const char *cachedir; time_t boottime; }; struct appfs_thread_data globalThread; typedef enum { APPFS_OS_UNKNOWN, APPFS_OS_ALL, |
︙ | ︙ | |||
674 675 676 677 678 679 680 681 682 683 684 685 686 687 | if (_path[1] == '\0') { /* Request for the root directory */ sites = appfs_getsites(&sites_count); pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->typeinfo.dir.childcount = sites_count; pathinfo->hostname[0] = '\0'; if (children) { for (site = sites; site; site = site->_next) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; strcpy(node->name, site->name); *children = node; | > | 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 | if (_path[1] == '\0') { /* Request for the root directory */ sites = appfs_getsites(&sites_count); pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->typeinfo.dir.childcount = sites_count; pathinfo->hostname[0] = '\0'; pathinfo->time = globalThread.boottime; if (children) { for (site = sites; site; site = site->_next) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; strcpy(node->name, site->name); *children = node; |
︙ | ︙ | |||
716 717 718 719 720 721 722 723 724 725 726 727 728 729 | return(-ENOENT); } if (packagename == NULL) { /* Request for a single hostname */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->typeinfo.dir.childcount = packages_count; if (children) { for (package = packages; package; package = package->_next) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; strcpy(node->name, package->name); *children = node; | > | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | return(-ENOENT); } if (packagename == NULL) { /* Request for a single hostname */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->typeinfo.dir.childcount = packages_count; pathinfo->time = globalThread.boottime; if (children) { for (package = packages; package; package = package->_next) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; strcpy(node->name, package->name); *children = node; |
︙ | ︙ | |||
737 738 739 740 741 742 743 744 745 746 747 748 749 750 | return(0); } os_cpuArch = strchr(packagename, '/'); if (os_cpuArch == NULL) { /* Request for OS and CPU Arch for a specific package */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; os_cpuArch_count = 0; for (package = packages; package; package = package->_next) { if (strcmp(package->name, packagename) != 0) { APPFS_DEBUG("Skipping package named \"%s\", does not match requested package: \"%s\"", package->name, packagename); continue; | > | 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 | return(0); } os_cpuArch = strchr(packagename, '/'); if (os_cpuArch == NULL) { /* Request for OS and CPU Arch for a specific package */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->time = globalThread.boottime; os_cpuArch_count = 0; for (package = packages; package; package = package->_next) { if (strcmp(package->name, packagename) != 0) { APPFS_DEBUG("Skipping package named \"%s\", does not match requested package: \"%s\"", package->name, packagename); continue; |
︙ | ︙ | |||
791 792 793 794 795 796 797 798 799 800 801 802 803 804 | } os_val = appfs_convert_os_fromString(os); if (version == NULL) { /* Request for version list for a package on an OS/CPU */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; version_count = 0; for (package = packages; package; package = package->_next) { if (strcmp(package->name, packagename) != 0) { APPFS_DEBUG("Skipping package named \"%s\", does not match requested package: \"%s\"", package->name, packagename); continue; | > | 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 | } os_val = appfs_convert_os_fromString(os); if (version == NULL) { /* Request for version list for a package on an OS/CPU */ pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->time = globalThread.boottime; version_count = 0; for (package = packages; package; package = package->_next) { if (strcmp(package->name, packagename) != 0) { APPFS_DEBUG("Skipping package named \"%s\", does not match requested package: \"%s\"", package->name, packagename); continue; |
︙ | ︙ | |||
853 854 855 856 857 858 859 860 861 862 863 864 865 866 | return(-ENOENT); } APPFS_DEBUG(" ... which hash a hash of %s", package_hash); if (strcmp(path, "") == 0) { pathinfo->type = APPFS_PATHTYPE_DIRECTORY; } else { fileinfo_ret = appfs_getfileinfo(hostname, package_hash, path, pathinfo); if (fileinfo_ret != 0) { free(path_s); return(fileinfo_ret); } | > | 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 | return(-ENOENT); } APPFS_DEBUG(" ... which hash a hash of %s", package_hash); if (strcmp(path, "") == 0) { pathinfo->type = APPFS_PATHTYPE_DIRECTORY; pathinfo->time = globalThread.boottime; } else { fileinfo_ret = appfs_getfileinfo(hostname, package_hash, path, pathinfo); if (fileinfo_ret != 0) { free(path_s); return(fileinfo_ret); } |
︙ | ︙ | |||
1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 | int main(int argc, char **argv) { const char *cachedir = APPFS_CACHEDIR; char dbfilename[1024]; int pthread_ret, snprintf_ret, sqlite_ret; globalThread.cachedir = cachedir; pthread_ret = pthread_key_create(&interpKey, NULL); if (pthread_ret != 0) { fprintf(stderr, "Unable to create TSD key for Tcl. Aborting.\n"); return(1); } | > | 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 | int main(int argc, char **argv) { const char *cachedir = APPFS_CACHEDIR; char dbfilename[1024]; int pthread_ret, snprintf_ret, sqlite_ret; globalThread.cachedir = cachedir; globalThread.boottime = time(NULL); pthread_ret = pthread_key_create(&interpKey, NULL); if (pthread_ret != 0) { fprintf(stderr, "Unable to create TSD key for Tcl. Aborting.\n"); return(1); } |
︙ | ︙ |