Subject: How to do mp3 (This message is being sent to all CPSC 101 section 302 students) For those of you who didn't get around to getting mp3 working and have recently realized this could have severe adverse consequences regarding your project grade, and in the spirit of the season, here is a freebie: This is ONE way to migrate gray_ppm_image() from the "old way" to the "parser way". void gray_ppm_image(imageop_t *imop) { int row = 0; image_t *in = (image_t *)malloc(sizeof(image_t)); image_t *out = (image_t *)malloc(sizeof(image_t)); strcpy(in->filename, imop->in0); strcpy(out->filename, imop->out); read_ppm_image(in); out->width = in->width; out->height = in->height; strcpy(&out->id[0], &in->id[0]); out->pixels = (pixel_t *)malloc(sizeof(pixel_t) * out->width * out->height); /* now build the image one row at a time */ while (row < out->height) { gray_ppm_row(in, out, row); row = row + 1; } write_ppm_image(out); free(in->pixels); free(out->pixels); free(in); free(out); }