Index: trunk/src/plug_io.c =================================================================== --- trunk/src/plug_io.c (revision 14095) +++ trunk/src/plug_io.c (revision 14096) @@ -1022,6 +1022,13 @@ } } +pcb_cardinal_t pcb_io_incompat_save(pcb_data_t *data, pcb_any_obj_t *obj, const char *desc, const char *hint) +{ + pcb_message(PCB_MSG_ERROR, "save error: %s\n(%s)\n", desc, hint); + return 0; +} + + void pcb_io_uninit(void) { free(last_design_dir); Index: trunk/src/plug_io.h =================================================================== --- trunk/src/plug_io.h (revision 14095) +++ trunk/src/plug_io.h (revision 14096) @@ -183,6 +183,11 @@ } pcb_find_io_t; int pcb_find_io(pcb_find_io_t *available, int avail_len, pcb_plug_iot_t typ, int is_wr, const char *fmt); +/* Indicate an incompatibility on save; data and obj may be NULL (they are + used for navigating the user to the problem). Desc should be a short + description, details should go in hint. Returns a report ID. */ +pcb_cardinal_t pcb_io_incompat_save(pcb_data_t *data, pcb_any_obj_t *obj, const char *desc, const char *hint); + void pcb_io_uninit(void); #endif