[70423] branches/gsoc10-configfiles/base/src
and.damore at macports.org
and.damore at macports.org
Mon Aug 9 03:28:53 PDT 2010
Revision: 70423
http://trac.macports.org/changeset/70423
Author: and.damore at macports.org
Date: 2010-08-09 03:28:49 -0700 (Mon, 09 Aug 2010)
Log Message:
-----------
working md5 storage, code is full of DBG printf()
Modified Paths:
--------------
branches/gsoc10-configfiles/base/src/cregistry/entry.c
branches/gsoc10-configfiles/base/src/port1.0/portinstall.tcl
branches/gsoc10-configfiles/base/src/registry2.0/entryobj.c
Modified: branches/gsoc10-configfiles/base/src/cregistry/entry.c
===================================================================
--- branches/gsoc10-configfiles/base/src/cregistry/entry.c 2010-08-09 09:16:39 UTC (rev 70422)
+++ branches/gsoc10-configfiles/base/src/cregistry/entry.c 2010-08-09 10:28:49 UTC (rev 70423)
@@ -872,26 +872,39 @@
* @param [out] errPtr on error, a description of the error that occurred
* @return true if success; false if failure
*/
-int reg_entry_map_with_md5(reg_entry* entry, char** files, char** md5sums, int arg_count,
- reg_error* errPtr) {
+int reg_entry_map_with_md5(reg_entry* entry, char** files, char** md5sums,
+ int arg_count, reg_error* errPtr) {
reg_registry* reg = entry->reg;
int result = 1;
sqlite3_stmt* stmt = NULL;
- char* insert = "INSERT INTO registry.files (id, path, mtime, active, md5sum) "
- "VALUES (?, ?, 0, 0, ?)";
- /* sqlite3_prepare() is documented as legacy, http://www.sqlite.org/c3ref/step.html
- use sqlite3_prepare_v2() should be used instead */
+ char* insert = "INSERT INTO registry.files "
+ "(id, path, mtime, active, md5sum) VALUES (?, ?, 0, 0, ?)";
+
+ printf("GSOCDBG: \tentered reg_entry_map_with_md5\n");
+ printf("GSOCDBG: \t\targ_count:%d\n",arg_count);
+ /* sqlite3_prepare() is documented as legacy,
+ cf. http://www.sqlite.org/c3ref/step.html
+ sqlite3_prepare_v2() should be used instead */
if ((sqlite3_prepare(reg->db, insert, -1, &stmt, NULL) == SQLITE_OK)
&& (sqlite3_bind_int64(stmt, 1, entry->id) == SQLITE_OK)) {
int i;
- for (i=0; i<(arg_count/2) && result; i++) {
+ printf("GSOCDBG: \tlet's print files[] and md5sums[]\n");
+ for (i=0; i<arg_count; i++) {
+ printf("GSOCDBG: \t\tfiles[%d]:\"%s\"\n",i,files[i]);
+ printf("GSOCDBG: \t\tmd5sums[%d]:\"%s\"\n",i,md5sums[i]);
+ }
+ printf("GSOCDBG: \t\tentering the for loop\n");
+ for (i=0; (i<arg_count) && result; i++) {
+ printf("GSOCDBG: \t\tloop iteration:%d\n",i);
/* cycles through files[] array of strings,
the if argument parse a file from the array and put in into
the SQL statement */
if (sqlite3_bind_text(stmt, 2, files[i], -1, SQLITE_STATIC)
== SQLITE_OK) {
+ printf("GSOCDBG: \t\t\tinside first if branch\n");
if (sqlite3_bind_text(stmt, 3, md5sums[i], -1, SQLITE_STATIC)
== SQLITE_OK) {
+ printf("GSOCDBG: \t\t\tinside second if branch\n");
int r;
do {
r = sqlite3_step(stmt);
@@ -917,6 +930,7 @@
reg_sqlite_error(reg->db, errPtr, insert);
result = 0;
}
+ printf("GSOCDBG: \texiting reg_entry_map_with_md5\n");
if (stmt) {
sqlite3_finalize(stmt);
}
Modified: branches/gsoc10-configfiles/base/src/port1.0/portinstall.tcl
===================================================================
--- branches/gsoc10-configfiles/base/src/port1.0/portinstall.tcl 2010-08-09 09:16:39 UTC (rev 70422)
+++ branches/gsoc10-configfiles/base/src/port1.0/portinstall.tcl 2010-08-09 10:28:49 UTC (rev 70423)
@@ -198,7 +198,16 @@
if {[info exists installPlist]} {
# register files
- $regref map_with_md5 $installPlist
+ set installPlistWithMD5 [list]
+ foreach file $installPlist {
+ lappend installPlistWithMD5 $file
+ if {[catch {md5 file "$imagedir$file"} md5sum] == 0} {
+ lappend installPlistWithMD5 $md5sum
+ }
+ }
+ #puts "installPlist:$installPlist"
+ puts "installPlistWithMD5:$installPlistWithMD5"
+ $regref map_with_md5 "$installPlistWithMD5"
}
# store portfile
Modified: branches/gsoc10-configfiles/base/src/registry2.0/entryobj.c
===================================================================
--- branches/gsoc10-configfiles/base/src/registry2.0/entryobj.c 2010-08-09 09:16:39 UTC (rev 70422)
+++ branches/gsoc10-configfiles/base/src/registry2.0/entryobj.c 2010-08-09 10:28:49 UTC (rev 70423)
@@ -159,7 +159,7 @@
static int entry_obj_filemap_with_md5(Tcl_Interp* interp, reg_entry* entry, int objc,
Tcl_Obj* CONST objv[]) {
reg_registry* reg = registry_for(interp, reg_attached);
- printf("GSOCDBG: we're into entry_obj_filemap_with_md5\n");
+ printf("GSOCDBG: entering entry_obj_filemap_with_md5\n");
if (objc != 3) {
Tcl_WrongNumArgs(interp, 2, objv, "map {file md5checksum}-list");
return TCL_ERROR;
@@ -174,33 +174,46 @@
int listc;
int result = TCL_ERROR;
int i;
+ int list_counter;
if (Tcl_ListObjGetElements(interp, objv[2], &listc, &listv) != TCL_OK) {
return TCL_ERROR;
}
- files=malloc(listc*sizeof(char *));
- md5sums=malloc(listc*sizeof(char*));
+
+ printf("GSOCDBG: size of list %d\n", listc);
/* remember to add check for malloc return values */
- for (i = 0; i < listc; i++) {
+ files=malloc((listc/2)*sizeof(char *));
+ md5sums=malloc((listc/2)*sizeof(char*));
+
+ printf("GSOCDBG: for loop\n");
+ /* fill in files[] and md5sums[] */
+ for (i=0; i<listc; i+=2) {
+ list_counter=i/2;
+ /*if (Tcl_ListObjLength(interp, listv[i], &length) != TCL_OK) {
+ free(files); free(md5sums); return TCL_ERROR; } */
+ printf("GSOCDBG: \titem %d\n", list_counter);
+ element=NULL;
if (Tcl_ListObjIndex(interp, listv[i], 0, &element) != TCL_OK) {
free(files); free(md5sums); return TCL_ERROR; }
- else if(element != NULL)
- files[i] = Tcl_GetString(element);
+ else if (element == NULL) {
+ Tcl_SetErrorCode(interp, "illegal input", NULL); return TCL_ERROR; }
else {
+ files[list_counter] = Tcl_GetString(element);
+ printf("GSOCDBG: \t\tfiles[%d]=\"%s\"\n", list_counter, files[list_counter]); }
+ element=NULL;
+ if (Tcl_ListObjIndex(interp, listv[i+1], 0, &element) != TCL_OK) {
+ free(files); free(md5sums); return TCL_ERROR; }
+ else if (element == NULL) {
Tcl_SetErrorCode(interp, "illegal input", NULL); return TCL_ERROR; }
-
- if (Tcl_ListObjIndex(interp, listv[i], 1, &element) != TCL_OK) {
- free(files); free(md5sums); return TCL_ERROR; }
- else if(element != NULL)
- md5sums[i] = Tcl_GetString(element);
else {
- Tcl_SetErrorCode(interp, "illegal input", NULL); return TCL_ERROR; }
+ md5sums[list_counter] = Tcl_GetString(element);
+ printf("GSOCDBG: \t\tmd5sums[%d]=\"%s\"\n", list_counter, md5sums[list_counter]); }
}
/* change the condition, */
/* it used to be list_obj_to_string() but now we're filling arrays by hand */
if ( 1 ) {
- if (reg_entry_map_with_md5(entry, files, md5sums, listc, &error)) {
+ if (reg_entry_map_with_md5(entry, files, md5sums, listc/2, &error)) {
result = TCL_OK;
} else {
result = registry_failed(interp, &error);
@@ -214,6 +227,7 @@
result = registry_failed(interp, &error);
}
*/
+ printf("GSOCDBG: exiting entry_obj_filemap_with_md5\n");
return result;
}
}
@@ -469,6 +483,7 @@
int entry_obj_cmd(ClientData clientData, Tcl_Interp* interp, int objc,
Tcl_Obj* CONST objv[]) {
int cmd_index;
+ int len=0;
if (objc < 2) {
Tcl_WrongNumArgs(interp, 1, objv, "cmd ?arg ...?");
return TCL_ERROR;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100809/dcb55d03/attachment-0001.html>
More information about the macports-changes
mailing list