+ /* write the header */
+ if(!fwrite("unsigned char option_table[] = {",1,32,fp)) {
+ perror("Error - Could not write image file");
+ fclose(fp);
+ unlink(tempfilename);
+ exit(1);
+ }
+ /* write the array values */
+ for(i=0; i<(int)(ct->size-1); i++) {
+ if(!(i%10) && !err) err=!fwrite("\n\t",1,2,fp);
+ sprintf(buf,"0x%02x,",cmos_table[i]);
+ if(!err) err=!fwrite(buf,1,5,fp);
+ }
+ /* write the end */
+ sprintf(buf,"0x%02x\n",cmos_table[i]);
+ if(!err) err=!fwrite(buf,1,4,fp);
+ if(!fwrite("};\n",1,3,fp)) {
+ perror("Error - Could not write image file");
+ fclose(fp);
+ unlink(tempfilename);
+ exit(1);
+ }
+
+ fclose(fp);
+ UNLINK_IF_NECESSARY(option);
+ if (rename(tempfilename, option)) {
+ fprintf(stderr, "Error - Could not write %s: ", option);
+ perror(NULL);
+ unlink(tempfilename);
+ exit(1);
+ }
+ }