> Here are fresh patches against trunk. I've gone ahead and committed them.
> 4.src/apache-2/mod_rivet.c > Changed a bit Rivet_ParseFileArgString a bit, it fixed segfaults, but > still needs some work. > I've added apr_pool_t pointer to parameters we are passing to function. > I think we should go away from malloc/calloc usage to apr_* > equivalents, (It is a subject to discuss). Most of the code in the apache 2 mod_rivet.c file is from Eckhard Lehmann <[EMAIL PROTECTED]>, who did the initial work and then abandoned it. You should not consider it as something that must be there, or must work the way it does. You are indeed correct that where possible you should use either the apr_* functions, or the Tcl functions (be careful of mixing the two). His code, truth be told, looks kind of messy - you should investigate what things apr_* gives you, as well as consider using anything from this that helps out: http://httpd.apache.org/apreq/ Things like this: /* * Rivet_IsRivetFile(char*) * * small helper function to get the file type. Returns 1 if * the file ends with .rvt, 0 otherwise. */ static int Rivet_IsRivetFile (char *filepath) { char *fileCopy = (char*) malloc((strlen(filepath)+1) * sizeof(char)); char *cPtr; strcpy (fileCopy, filepath); cPtr = fileCopy + (strlen(fileCopy) - 3); if (*(cPtr-1) != '.') { char *ePtr = fileCopy + (strlen(fileCopy) - 1); while (*ePtr-- != '?') ; ePtr++; *ePtr = '\0'; cPtr = ePtr - 3; } if (strcmp (cPtr, "rvt") == 0) { return RIVET_FILE; } else if (strcmp (cPtr, "tcl") == 0) { return TCL_FILE; } return 0; } Just look a bit dodgy to me. In Rivet for Apache 1.3, these things are handled by Apache, as they should be: AddType application/x-httpd-rivet .rvt AddType application/x-rivet-tcl .tcl Of course, maybe I'm missing something, but... I'm just saying - feel *very* free to improve things as you see fit! > Module successfully builds on OpenBSD and Debian for me, it is able > to puts "<b>Hello World<b>" , still there's a lot of work left. Cool! -- David N. Welton http://www.welton.it/davidw/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
