version 1.50, 2001/02/04 07:17:33
|
version 1.51, 2001/02/09 17:36:08
|
Line 1198 int sql_add_distribution(const char *Nam
|
Line 1198 int sql_add_distribution(const char *Nam
|
return(id); |
return(id); |
} |
} |
|
|
|
int sql_get_package_id(const char *filename) { |
|
int id; |
|
MYSQL_RES *result; |
|
MYSQL_ROW row; |
|
char query[MAX_QUERY]; |
|
int left = MAX_QUERY - 1; |
|
int len; |
|
char *end; |
|
static int queries = 0; |
|
|
|
if (filename == NULL) |
|
return(0); |
|
|
|
queries++; |
|
|
|
/* |
|
* Search first for the ID if it already exists |
|
*/ |
|
len = snprintf(query, left, "SELECT ID FROM Packages WHERE filename='%s'", |
|
filename); |
|
if (len < 0) { |
|
fprintf(stderr, "sql_get_package_id : %s overflow\n", |
|
filename); |
|
return(0); |
|
} |
|
query[len] = 0; |
|
|
|
if (mysql_query(sql,query)) { |
|
printf("sql_get_package_id: SELECT %s failed %s\n", filename, |
|
mysql_error(sql)); |
|
return(0); |
|
} |
|
|
|
result = mysql_use_result(sql); |
|
if (result) { |
|
if ((row = mysql_fetch_row(result))) |
|
{ |
|
/* |
|
* Lookup the first ID and return it |
|
*/ |
|
if (row[0] == NULL) { |
|
mysql_free_result(result); |
|
printf("sql_get_package_id: select returns NULL !\n"); |
|
return(0); |
|
} |
|
if (sscanf(row[0], "%d", &id) != 1) { |
|
mysql_free_result(result); |
|
printf("sql_get_package_id: ID non numeric %s\n", row[0]); |
|
return(0); |
|
} |
|
mysql_free_result(result); |
|
return(id); |
|
} |
|
mysql_free_result(result); |
|
} |
|
if (mysql_errno(sql)) { |
|
fprintf(stderr, "Error: %s\n", mysql_error(sql)); |
|
return(-1); |
|
} |
|
|
|
printf("%d New package %s\n", queries, filename); |
|
return(0); |
|
} |
|
|
int sql_add_package(const char *filename, |
int sql_add_package(const char *filename, |
const char *Name, const char *Version, const char *Release, |
const char *Name, const char *Version, const char *Release, |