Index: appfs.c ================================================================== --- appfs.c +++ appfs.c @@ -56,10 +56,12 @@ int counter; char name[256]; char version[64]; char sha1[41]; + char os_str[64]; + char cpuArch_str[64]; appfs_os_t os; appfs_cpuArch_t cpuArch; int isLatest; }; @@ -383,10 +385,12 @@ snprintf(obj->name, sizeof(obj->name), "%s", values[0]); snprintf(obj->version, sizeof(obj->version), "%s", values[1]); snprintf(obj->sha1, sizeof(obj->sha1), "%s", values[2]); obj->os = appfs_convert_os_fromString(values[3]); obj->cpuArch = appfs_convert_cpuArch_fromString(values[4]); + snprintf(obj->os_str, sizeof(obj->os_str), "%s", values[3]); + snprintf(obj->cpuArch_str, sizeof(obj->cpuArch_str), "%s", values[4]); if (values[5][0] == '1') { obj->isLatest = 1; } else { obj->isLatest = 0; } @@ -501,22 +505,22 @@ *retval = strdup(values[0]); return(0); } -static char *appfs_lookup_package_hash(const char *hostname, const char *package, appfs_os_t os, appfs_cpuArch_t cpuArch, const char *version) { +static char *appfs_lookup_package_hash(const char *hostname, const char *package, const char *os, const char *cpuArch, const char *version) { char *sql; char *retval = NULL; int sqlite_ret; appfs_update_index(hostname); sql = sqlite3_mprintf("SELECT sha1 FROM packages WHERE hostname = %Q AND package = %Q AND os = %Q AND cpuArch = %Q AND version = %Q;", hostname, package, - appfs_convert_os_toString(os), - appfs_convert_cpuArch_toString(cpuArch), + os, + cpuArch, version ); if (sql == NULL) { APPFS_DEBUG("Call to sqlite3_mprintf failed."); @@ -749,11 +753,11 @@ os_cpuArch_count++; if (children) { node = (void *) ckalloc(sizeof(*node)); node->_next = *children; - snprintf(node->name, sizeof(node->name), "%s-%s", appfs_convert_os_toString(package->os), appfs_convert_cpuArch_toString(package->cpuArch)); + snprintf(node->name, sizeof(node->name), "%s-%s", package->os_str, package->cpuArch_str); *children = node; } } appfs_free_list_package(packages); @@ -840,11 +844,11 @@ /* Request for a file in a specific package */ APPFS_DEBUG("Requesting information for hostname = %s, package = %s, os = %s, cpuArch = %s, version = %s, path = %s", hostname, packagename, os, cpuArch, version, path ); - package_hash = appfs_lookup_package_hash(hostname, packagename, os_val, cpuArch_val, version); + package_hash = appfs_lookup_package_hash(hostname, packagename, os, cpuArch, version); if (package_hash == NULL) { free(path_s); return(-ENOENT); }