/* bijou HTTP server for plan 9 by sean caron (scaron@umich.edu) */#include "main.h"/* free memory used by configuration structure variables */void free_config_vars(struct configuration *cfg) { int i; free(cfg->hostname); free(cfg->port); free(cfg->icondir); free(cfg->rootdir); free(cfg->errlog); free(cfg->reqlog); free(cfg->userchar); free(cfg->userdir); free(cfg->userdocs); // free each index string for (i = 0; i < cfg->n_indices; i++) { free( *(cfg->indices+i) ); } // free the array of indices free(cfg->indices); // free each translation string for ( i = 0; i < cfg->n_translate; i++ ) { free ( *(cfg->translate+i) ); } // free the array of translations free(cfg->translate); return;}/* free memory used by request structure variables */void free_request_vars(struct request *req) { free(req->method); free(req->uri); free(req->version); free(req->host); free(req->useragent); free(req->authtype); free(req->authorization); return;}void free_htpasswd_vars(struct htpasswd *htpass) { int i; free(htpass->realm); for (i = 0; i < htpass->n_users; i++) { free(*(htpass->user+i) ); free(*(htpass->pass+i) ); } free(htpass->user); free(htpass->pass); return;}
/* bijou HTTP server for plan 9 by sean caron (scaron@umich.edu) */
#include "main.h"
/* free memory used by configuration structure variables */
void free_config_vars(struct configuration *cfg) {
int i;
free(cfg->hostname);
free(cfg->port);
free(cfg->icondir);
free(cfg->rootdir);
free(cfg->errlog);
free(cfg->reqlog);
free(cfg->userchar);
free(cfg->userdir);
free(cfg->userdocs);
// free each index string
for (i = 0; i < cfg->n_indices; i++) {
free( *(cfg->indices+i) );
}
// free the array of indices
free(cfg->indices);
// free each translation string
for ( i = 0; i < cfg->n_translate; i++ ) {
free ( *(cfg->translate+i) );
}
// free the array of translations
free(cfg->translate);
return;
}
/* free memory used by request structure variables */
void free_request_vars(struct request *req) {
free(req->method);
free(req->uri);
free(req->version);
free(req->host);
free(req->useragent);
free(req->authtype);
free(req->authorization);
return;
}
void free_htpasswd_vars(struct htpasswd *htpass) {
int i;
free(htpass->realm);
for (i = 0; i < htpass->n_users; i++) {
free(*(htpass->user+i) );
free(*(htpass->pass+i) );
}
free(htpass->user);
free(htpass->pass);
return;
}