diff options
Diffstat (limited to 'spectro')
-rw-r--r--[-rwxr-xr-x] | spectro/IntsLib_Readme.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Jamfile | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/License.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/License2.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/License3.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/LzmaDec.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/LzmaDec.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/LzmaTypes.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Makefile.OSX | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Makefile.SA | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Makefile.UNIX | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Makefile.WNT | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/Readme.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/SOtele.sp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/afiles | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/aglob.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/aglob.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/average.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/base64.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/base64.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ccwin.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ccwin.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ccxx.ti1 | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ccxxmake.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/chartread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/colorhug.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/colorhug.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/conv.c | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/conv.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/cubecal.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispcal.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispsup.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispsup.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/disptechs.c | 109 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/disptechs.h | 3 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispwin.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dispwin.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp20.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp20.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp22.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp22.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp41.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp41.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp51.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp51.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp92.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/dtp92.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ex1.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ex1.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/fakeread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/hcfr.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/hcfr.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/hidio.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/hidio.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/huey.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/huey.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1d3.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1d3.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1disp.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1disp.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1pro.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1pro.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1pro_imp.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/i1pro_imp.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/icoms.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/icoms.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/icoms_nt.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/icoms_ux.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ifiles | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/illumread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/inflate.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/inst.c | 43 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/inst.h | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/instappsup.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/instappsup.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/instlib.ksh | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/instlib.txt | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/insttypeinst.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/insttypes.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/insttypes.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/iusb.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/kleink10.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/kleink10.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/linear.cal | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/linear.sp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/madvrwin.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/madvrwin.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/mongoose.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/mongoose.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/munki.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/munki.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/munki_imp.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/munki_imp.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/oemarch.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/oemarch.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/oeminst.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/pollem.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/pollem.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/rspec.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/rspec.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/smcube.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/smcube.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/spec2cie.c | 163 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/specbos.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/specbos.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/spotread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/spyd2.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/spyd2.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ss.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ss.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ss_imp.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/ss_imp.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/strange.cal | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/synthcal.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/synthread.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio_bsd.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio_lx.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio_nt.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/usbio_ox.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/vinflate.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/webwin.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/webwin.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/xdg_bds.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | spectro/xdg_bds.h | 0 |
127 files changed, 189 insertions, 139 deletions
diff --git a/spectro/IntsLib_Readme.txt b/spectro/IntsLib_Readme.txt index 7d9fb0c..7d9fb0c 100755..100644 --- a/spectro/IntsLib_Readme.txt +++ b/spectro/IntsLib_Readme.txt diff --git a/spectro/Jamfile b/spectro/Jamfile index 9eb292f..9eb292f 100755..100644 --- a/spectro/Jamfile +++ b/spectro/Jamfile diff --git a/spectro/License.txt b/spectro/License.txt index a871fcf..a871fcf 100755..100644 --- a/spectro/License.txt +++ b/spectro/License.txt diff --git a/spectro/License2.txt b/spectro/License2.txt index 05ca889..05ca889 100755..100644 --- a/spectro/License2.txt +++ b/spectro/License2.txt diff --git a/spectro/License3.txt b/spectro/License3.txt index 94a9ed0..94a9ed0 100755..100644 --- a/spectro/License3.txt +++ b/spectro/License3.txt diff --git a/spectro/LzmaDec.c b/spectro/LzmaDec.c index 8c1a148..8c1a148 100755..100644 --- a/spectro/LzmaDec.c +++ b/spectro/LzmaDec.c diff --git a/spectro/LzmaDec.h b/spectro/LzmaDec.h index 6045fae..6045fae 100755..100644 --- a/spectro/LzmaDec.h +++ b/spectro/LzmaDec.h diff --git a/spectro/LzmaTypes.h b/spectro/LzmaTypes.h index 7732c24..7732c24 100755..100644 --- a/spectro/LzmaTypes.h +++ b/spectro/LzmaTypes.h diff --git a/spectro/Makefile.OSX b/spectro/Makefile.OSX index 485cbf4..485cbf4 100755..100644 --- a/spectro/Makefile.OSX +++ b/spectro/Makefile.OSX diff --git a/spectro/Makefile.SA b/spectro/Makefile.SA index 2d57742..2d57742 100755..100644 --- a/spectro/Makefile.SA +++ b/spectro/Makefile.SA diff --git a/spectro/Makefile.UNIX b/spectro/Makefile.UNIX index adafa67..adafa67 100755..100644 --- a/spectro/Makefile.UNIX +++ b/spectro/Makefile.UNIX diff --git a/spectro/Makefile.WNT b/spectro/Makefile.WNT index 83eef28..83eef28 100755..100644 --- a/spectro/Makefile.WNT +++ b/spectro/Makefile.WNT diff --git a/spectro/Readme.txt b/spectro/Readme.txt index b9fe0aa..b9fe0aa 100755..100644 --- a/spectro/Readme.txt +++ b/spectro/Readme.txt diff --git a/spectro/SOtele.sp b/spectro/SOtele.sp index f63d90e..f63d90e 100755..100644 --- a/spectro/SOtele.sp +++ b/spectro/SOtele.sp diff --git a/spectro/afiles b/spectro/afiles index 984bac5..984bac5 100755..100644 --- a/spectro/afiles +++ b/spectro/afiles diff --git a/spectro/aglob.c b/spectro/aglob.c index 2ba37d5..2ba37d5 100755..100644 --- a/spectro/aglob.c +++ b/spectro/aglob.c diff --git a/spectro/aglob.h b/spectro/aglob.h index dbb5025..dbb5025 100755..100644 --- a/spectro/aglob.h +++ b/spectro/aglob.h diff --git a/spectro/average.c b/spectro/average.c index 5a8fb3f..5a8fb3f 100755..100644 --- a/spectro/average.c +++ b/spectro/average.c diff --git a/spectro/base64.c b/spectro/base64.c index 388d121..388d121 100755..100644 --- a/spectro/base64.c +++ b/spectro/base64.c diff --git a/spectro/base64.h b/spectro/base64.h index 726f20a..726f20a 100755..100644 --- a/spectro/base64.h +++ b/spectro/base64.h diff --git a/spectro/ccwin.c b/spectro/ccwin.c index 1e9a18d..1e9a18d 100755..100644 --- a/spectro/ccwin.c +++ b/spectro/ccwin.c diff --git a/spectro/ccwin.h b/spectro/ccwin.h index 9fb902d..9fb902d 100755..100644 --- a/spectro/ccwin.h +++ b/spectro/ccwin.h diff --git a/spectro/ccxx.ti1 b/spectro/ccxx.ti1 index 47f2b13..47f2b13 100755..100644 --- a/spectro/ccxx.ti1 +++ b/spectro/ccxx.ti1 diff --git a/spectro/ccxxmake.c b/spectro/ccxxmake.c index 4202c67..4202c67 100755..100644 --- a/spectro/ccxxmake.c +++ b/spectro/ccxxmake.c diff --git a/spectro/chartread.c b/spectro/chartread.c index 0fc7646..0fc7646 100755..100644 --- a/spectro/chartread.c +++ b/spectro/chartread.c diff --git a/spectro/colorhug.c b/spectro/colorhug.c index 1b2a56d..1b2a56d 100755..100644 --- a/spectro/colorhug.c +++ b/spectro/colorhug.c diff --git a/spectro/colorhug.h b/spectro/colorhug.h index 90fff6f..90fff6f 100755..100644 --- a/spectro/colorhug.h +++ b/spectro/colorhug.h diff --git a/spectro/conv.c b/spectro/conv.c index 1f4d102..1a8c78b 100755..100644 --- a/spectro/conv.c +++ b/spectro/conv.c @@ -130,11 +130,11 @@ int next_con_char(void) { return c; } -/* Horrible hack to poll stdin when we're not interactive */ +/* Horrible hack to poll stdin when we're not interactive. */ /* This has the drawback that the char and returm must be */ /* written in one operation for the character to be recognised - */ /* trying to do this manually typically doesn't work unless you are */ -/* very fast an lucky. */ +/* very fast and lucky. */ static int th_read_char(void *pp) { char *rp = (char *)pp; HANDLE stdinh; @@ -166,6 +166,7 @@ int poll_con_char(void) { /* any of MSWin's async file read functions, because we */ /* have no way of ensuring that the STD_INPUT_HANDLE has been */ /* opened with FILE_FLAG_OVERLAPPED. Used a thread instead... */ + /* ReOpenFile() would fix this, but it's not available in WinXP, only Visa+ :-( */ if ((getch_thread = new_athread(th_read_char, &c)) != NULL) { HANDLE stdinh; diff --git a/spectro/conv.h b/spectro/conv.h index 4e14dd9..4e14dd9 100755..100644 --- a/spectro/conv.h +++ b/spectro/conv.h diff --git a/spectro/cubecal.h b/spectro/cubecal.h index 60f7380..60f7380 100755..100644 --- a/spectro/cubecal.h +++ b/spectro/cubecal.h diff --git a/spectro/dispcal.c b/spectro/dispcal.c index 97337cd..97337cd 100755..100644 --- a/spectro/dispcal.c +++ b/spectro/dispcal.c diff --git a/spectro/dispread.c b/spectro/dispread.c index 8a78fcc..8a78fcc 100755..100644 --- a/spectro/dispread.c +++ b/spectro/dispread.c diff --git a/spectro/dispsup.c b/spectro/dispsup.c index 57a598e..57a598e 100755..100644 --- a/spectro/dispsup.c +++ b/spectro/dispsup.c diff --git a/spectro/dispsup.h b/spectro/dispsup.h index bca3070..bca3070 100755..100644 --- a/spectro/dispsup.h +++ b/spectro/dispsup.h diff --git a/spectro/disptechs.c b/spectro/disptechs.c index d44519c..70e150f 100755..100644 --- a/spectro/disptechs.c +++ b/spectro/disptechs.c @@ -56,7 +56,7 @@ /* We deliberately duplicate the selection characters, */ /* because it's not usual to offer the whole list, just */ -/* a sub-set, which may not clash. */ +/* a sub-set which may not clash. */ /* disptechs_set_sel() should be used to present */ /* unique selectors. */ static disptech_info disptech_info_array[] = { @@ -387,52 +387,72 @@ disptech_info *disptech_get_strid(char *strid) { so we need to do three passes through all the selections. */ -/* Set the selection characters. */ -/* Return NZ if we have not set all selectors */ -/* If a selector is set, its index will be set in usels[], */ -/* and any remaining selection characters deleted. */ -/* If flag == 0, set from just first suggested selector */ -/* If flag == 1, set from just suggested selector */ +/* Append the selection characters. */ +/* If a selector is set, its index will be set in usels[]. */ +/* Remove any used selectors from isel[]. */ +/* If flag == 0, set from just first suggested selector. */ +/* If flag == 1, set from just suggested selectors. */ /* If flag == 2, set from suggested and fallback selectors */ -/* If flag == 3, set from suggested and fallback selectors, and set unset to nul */ -int disptechs_set_sel( +/* If flag == 3, append from suggested selectors */ +void disptechs_set_sel( int flag, /* See above */ int ix, /* Index of entry being set */ - char *sel, /* Pointer to string list of suggested selectors, */ - /* return a single unique selector in string. */ + char *osel, /* Append unique selectors to this string. */ + char *isel, /* Pointer to string list of suggested selectors, */ char *usels, /* char[256] initially -1, to track used selector entry index */ int *k, /* Index of next available selector in asels */ char *asels /* String list of fallback selectors to choose from, in order. */ ) { - char *d, *s, i; + char *iisel = isel, i; -//a1logd(g_log, 1,"disptechs_set_sel: flag %d, ix %d, sel '%s', k %d\n",flag, ix,sel,*k); +//a1logd(g_log, 1,"disptechs_set_sel: flag %d, ix %d, osel '%s', isel '%s', k %d\n",flag, ix,osel,isel,*k); - /* See if this has already been allocated */ - if (usels[*sel] == ix) { -//a1logd(g_log, 1," set OK\n"); - return 0; /* Nothing to do */ + if (flag != 3) { + /* See if we already have a selecor character */ + if (osel[0] != '\000') { +//a1logd(g_log, 1," already set OK\n"); + return; + } + } else { + if (isel[0] == '\000') { +//a1logd(g_log, 1," nothing to set from\n"); + return; /* Nothing to set from */ + } + + /* Get ready to append */ + osel += strlen(osel); } - /* Set from the suggested selectors */ - for (i = 0, s = sel; *s != '\000'; s++, i++) { + /* Set or add from the first unsed suggested selectors */ + for (i = 0; *isel != '\000'; isel++, i++) { if (flag == 0 && i > 0) { //a1logd(g_log, 1," run out of primaries\n"); break; /* Looked at primary */ } - if (usels[*s] == ((char)-1)) { /* If this selector is not currently used */ -//a1logd(g_log, 1," set to '%c' at %d\n", *s, i); - sel[0] = *s; /* Use it */ - sel[1] = '\000'; - usels[*s] = ix; - return 0; + if (usels[*isel] == ((char)-1)) { /* If this selector is not currently used */ +//a1logd(g_log, 1," added to '%c' from %d\n", *isel, i); + osel[0] = *isel; /* Use it */ + osel[1] = '\000'; + usels[osel[0]] = ix; + + /* Remove all used/discarded from isel, in case we are called again. */ + for (isel++; ;isel++, iisel++) { + *iisel = *isel; + if (*isel == '\000') + break; + } + return; } -//a1logd(g_log, 1," sel '%c' at %d is used by ix %d\n", *s, i, usels[*s]); +//a1logd(g_log, 1," sel '%c' at %d is used by ix %d\n", *isel, i, usels[*isel]); } - if (flag <= 2) { -//a1logd(g_log, 1," returning unset\n"); - return 1; + /* If we get here, we haven't managed to add anything from the remaining */ + /* selectors, so mark the candidate list as empty: */ + iisel[0] = '\000'; + + if (flag != 2) { +//a1logd(g_log, 1," returning without add\n"); + return; } /* Get the next unused char in fallback list */ @@ -442,22 +462,16 @@ int disptechs_set_sel( } if (asels[*k] != '\000') { //a1logd(g_log, 1," set int to fallback '%c' at %d\n", asels[*k], *k); - sel[0] = asels[*k]; - sel[1] = '\000'; - usels[sel[0]] = ix; + osel[0] = asels[*k]; + osel[1] = '\000'; + usels[osel[0]] = ix; (*k)++; - return 0; - } - - /* Set any unset to nul */ - if (flag >= 3) { -//a1logd(g_log, 1," clearing\n"); - sel[0] = '\000'; + return; } -//a1logd(g_log, 1," failed\n"); - /* If we got here, we failed */ - return 1; +//a1logd(g_log, 1," returning after fallback without add\n"); + /* If we got here, we failed to add a selector */ + return; } /* Return the display tech list with unique lsel lectors */ @@ -474,18 +488,19 @@ disptech_info *disptech_get_list() { /* Add entries from the static list and their primary selectors */ for (i = 0; list[i].dtech != disptech_end; i++) { -//a1logd(1,"tech[%d] '%s' sels = '%s'\n",i,list[i].desc,list[i].sel); - strcpy(list[i].lsel, list[i].sel); - disptechs_set_sel(0, i, list[i].lsel, usels, &k, asels); +//a1logd(g_log,1,"tech[%d] '%s' sels = '%s'\n",i,list[i].desc,list[i].sel); + strcpy(list[i].isel, list[i].sel); + list[i].lsel[0] = '\000'; + disptechs_set_sel(0, i, list[i].lsel, list[i].isel, usels, &k, asels); } /* Set selectors from secondary */ for (i = 0; list[i].dtech != disptech_end; i++) - disptechs_set_sel(1, i, list[i].lsel, usels, &k, asels); + disptechs_set_sel(1, i, list[i].lsel, list[i].isel, usels, &k, asels); /* Set remainder from fallback */ for (i = 0; list[i].dtech != disptech_end; i++) - disptechs_set_sel(3, i, list[i].lsel, usels, &k, asels); + disptechs_set_sel(2, i, list[i].lsel, list[i].isel, usels, &k, asels); return list; } diff --git a/spectro/disptechs.h b/spectro/disptechs.h index 68245cf..9860eac 100755..100644 --- a/spectro/disptechs.h +++ b/spectro/disptechs.h @@ -114,6 +114,7 @@ struct _disptech_info { /* Private: */ char lsel[10]; /* Unique list selector for ui */ + char isel[10]; /* Candidate selectors */ }; typedef struct _disptech_info disptech_info; @@ -137,7 +138,7 @@ disptech_info *disptech_select(disptech_info *list, char c); /* utility function, used by disptech_get_list & inst_creat_disptype_list() */ /* See disptechs.c for parameter description. */ -int disptechs_set_sel(int flag, int ix, char *sel, char *usels, int *k, char *asels); +void disptechs_set_sel(int flag, int ix, char *osel, char *isel, char *usels, int *k, char *asels); /* - - - - - - - - - - */ /* Display settling time model */ diff --git a/spectro/dispwin.c b/spectro/dispwin.c index 69536f3..69536f3 100755..100644 --- a/spectro/dispwin.c +++ b/spectro/dispwin.c diff --git a/spectro/dispwin.h b/spectro/dispwin.h index b5e14ce..b5e14ce 100755..100644 --- a/spectro/dispwin.h +++ b/spectro/dispwin.h diff --git a/spectro/dtp20.c b/spectro/dtp20.c index a504803..a504803 100755..100644 --- a/spectro/dtp20.c +++ b/spectro/dtp20.c diff --git a/spectro/dtp20.h b/spectro/dtp20.h index c575c67..c575c67 100755..100644 --- a/spectro/dtp20.h +++ b/spectro/dtp20.h diff --git a/spectro/dtp22.c b/spectro/dtp22.c index d332ffc..d332ffc 100755..100644 --- a/spectro/dtp22.c +++ b/spectro/dtp22.c diff --git a/spectro/dtp22.h b/spectro/dtp22.h index 95dce16..95dce16 100755..100644 --- a/spectro/dtp22.h +++ b/spectro/dtp22.h diff --git a/spectro/dtp41.c b/spectro/dtp41.c index 5c3361c..5c3361c 100755..100644 --- a/spectro/dtp41.c +++ b/spectro/dtp41.c diff --git a/spectro/dtp41.h b/spectro/dtp41.h index 529f94c..529f94c 100755..100644 --- a/spectro/dtp41.h +++ b/spectro/dtp41.h diff --git a/spectro/dtp51.c b/spectro/dtp51.c index cfd1265..cfd1265 100755..100644 --- a/spectro/dtp51.c +++ b/spectro/dtp51.c diff --git a/spectro/dtp51.h b/spectro/dtp51.h index 329c5d6..329c5d6 100755..100644 --- a/spectro/dtp51.h +++ b/spectro/dtp51.h diff --git a/spectro/dtp92.c b/spectro/dtp92.c index 1ed9bc1..1ed9bc1 100755..100644 --- a/spectro/dtp92.c +++ b/spectro/dtp92.c diff --git a/spectro/dtp92.h b/spectro/dtp92.h index 317fb7a..317fb7a 100755..100644 --- a/spectro/dtp92.h +++ b/spectro/dtp92.h diff --git a/spectro/ex1.c b/spectro/ex1.c index 93d0a31..93d0a31 100755..100644 --- a/spectro/ex1.c +++ b/spectro/ex1.c diff --git a/spectro/ex1.h b/spectro/ex1.h index d69b7ca..d69b7ca 100755..100644 --- a/spectro/ex1.h +++ b/spectro/ex1.h diff --git a/spectro/fakeread.c b/spectro/fakeread.c index 3cad93a..3cad93a 100755..100644 --- a/spectro/fakeread.c +++ b/spectro/fakeread.c diff --git a/spectro/hcfr.c b/spectro/hcfr.c index d0a8261..d0a8261 100755..100644 --- a/spectro/hcfr.c +++ b/spectro/hcfr.c diff --git a/spectro/hcfr.h b/spectro/hcfr.h index 8910cec..8910cec 100755..100644 --- a/spectro/hcfr.h +++ b/spectro/hcfr.h diff --git a/spectro/hidio.c b/spectro/hidio.c index c930755..c930755 100755..100644 --- a/spectro/hidio.c +++ b/spectro/hidio.c diff --git a/spectro/hidio.h b/spectro/hidio.h index 90a741b..90a741b 100755..100644 --- a/spectro/hidio.h +++ b/spectro/hidio.h diff --git a/spectro/huey.c b/spectro/huey.c index 79f8089..79f8089 100755..100644 --- a/spectro/huey.c +++ b/spectro/huey.c diff --git a/spectro/huey.h b/spectro/huey.h index aec96a0..aec96a0 100755..100644 --- a/spectro/huey.h +++ b/spectro/huey.h diff --git a/spectro/i1d3.c b/spectro/i1d3.c index 689f328..689f328 100755..100644 --- a/spectro/i1d3.c +++ b/spectro/i1d3.c diff --git a/spectro/i1d3.h b/spectro/i1d3.h index 47f3858..47f3858 100755..100644 --- a/spectro/i1d3.h +++ b/spectro/i1d3.h diff --git a/spectro/i1disp.c b/spectro/i1disp.c index 437e1fa..437e1fa 100755..100644 --- a/spectro/i1disp.c +++ b/spectro/i1disp.c diff --git a/spectro/i1disp.h b/spectro/i1disp.h index 45e21db..45e21db 100755..100644 --- a/spectro/i1disp.h +++ b/spectro/i1disp.h diff --git a/spectro/i1pro.c b/spectro/i1pro.c index 96335cc..96335cc 100755..100644 --- a/spectro/i1pro.c +++ b/spectro/i1pro.c diff --git a/spectro/i1pro.h b/spectro/i1pro.h index 4366e4f..4366e4f 100755..100644 --- a/spectro/i1pro.h +++ b/spectro/i1pro.h diff --git a/spectro/i1pro_imp.c b/spectro/i1pro_imp.c index 0b6fc69..0b6fc69 100755..100644 --- a/spectro/i1pro_imp.c +++ b/spectro/i1pro_imp.c diff --git a/spectro/i1pro_imp.h b/spectro/i1pro_imp.h index 6bf8de4..6bf8de4 100755..100644 --- a/spectro/i1pro_imp.h +++ b/spectro/i1pro_imp.h diff --git a/spectro/icoms.c b/spectro/icoms.c index b69b72a..b69b72a 100755..100644 --- a/spectro/icoms.c +++ b/spectro/icoms.c diff --git a/spectro/icoms.h b/spectro/icoms.h index 2a282f0..2a282f0 100755..100644 --- a/spectro/icoms.h +++ b/spectro/icoms.h diff --git a/spectro/icoms_nt.c b/spectro/icoms_nt.c index 14258e9..14258e9 100755..100644 --- a/spectro/icoms_nt.c +++ b/spectro/icoms_nt.c diff --git a/spectro/icoms_ux.c b/spectro/icoms_ux.c index 7fb7359..7fb7359 100755..100644 --- a/spectro/icoms_ux.c +++ b/spectro/icoms_ux.c diff --git a/spectro/ifiles b/spectro/ifiles index 706d0b7..706d0b7 100755..100644 --- a/spectro/ifiles +++ b/spectro/ifiles diff --git a/spectro/illumread.c b/spectro/illumread.c index 381f6b6..381f6b6 100755..100644 --- a/spectro/illumread.c +++ b/spectro/illumread.c diff --git a/spectro/inflate.c b/spectro/inflate.c index 55d8e65..55d8e65 100755..100644 --- a/spectro/inflate.c +++ b/spectro/inflate.c diff --git a/spectro/inst.c b/spectro/inst.c index ba12f9d..949e34f 100755..100644 --- a/spectro/inst.c +++ b/spectro/inst.c @@ -875,9 +875,11 @@ int doccmx /* Add matching installed ccmx files */ usels[i] = ((char)-1); k = 0; /* Next selector index */ + /* First create a list of calibrations and their desired selectors: */ + /* Add entries from the static list and their primary selectors */ /* (We're currently assuming that calibrations that the instrument */ - /* returns are not custom) */ + /* returns are not custom.) */ /* Count the number in the static list. */ for (i = 0; !(sdtlist[i].flags & inst_dtflags_end); i++) { @@ -966,25 +968,52 @@ int doccmx /* Add matching installed ccmx files */ } } + /* Copy candidate selectors to private isel[] list */ + for (i = 0; i < nlist; i++) { + strcpy(list[i].isel, list[i].sel); + list[i].sel[0] = '\000'; + } + + /* Then allocate a slector for each calibration: */ + /* Set selectors from primary for cbid or custom first */ for (i = 0; i < nlist; i++) { if (list[i].cbid > 0 || (list[i].flags & inst_dtflags_custom) != 0) { - disptechs_set_sel(0, i, list[i].sel, usels, &k, asels); + disptechs_set_sel(0, i, list[i].sel, list[i].isel, usels, &k, asels); } } /* Set selectors from primary for rest */ for (i = 0; i < nlist; i++) - disptechs_set_sel(0, i, list[i].sel, usels, &k, asels); + disptechs_set_sel(0, i, list[i].sel, list[i].isel, usels, &k, asels); - /* Set remaining selectors from secondaries */ + /* Set remaining selectors from primaries or secondaries */ for (i = 0; i < nlist; i++) - disptechs_set_sel(1, i, list[i].sel, usels, &k, asels); + disptechs_set_sel(1, i, list[i].sel, list[i].isel, usels, &k, asels); - /* Set remaining from fallback (or give up and set to null) */ + /* Set remaining from fallback */ for (i = 0; i < nlist; i++) { - fail = disptechs_set_sel(3, i, list[i].sel, usels, &k, asels); + disptechs_set_sel(2, i, list[i].sel, list[i].isel, usels, &k, asels); + if (list[i].sel[0] == '\000') + fail = 1; + } + + /* Any calibrations that failed to find a character will be left as a nul string */ + + /* Add alternate selectors if they are free. */ + for (;;) { + int more = 0; + for (i = 0; i < nlist; i++) { + /* Add unused secondaries */ + disptechs_set_sel(3, i, list[i].sel, list[i].isel, usels, &k, asels); + + if (list[i].isel[0] != '\000') { /* Still more secondaries available */ + more = 1; + } + } + if (!more) + break; } if (pndtlist != NULL) diff --git a/spectro/inst.h b/spectro/inst.h index 00dd9b3..d47f7ea 100755..100644 --- a/spectro/inst.h +++ b/spectro/inst.h @@ -390,6 +390,7 @@ typedef struct _inst_disptypesel { /* Private: */ int ix; /* Internal index, */ + char isel[INST_DTYPE_SEL_LEN]; /* String of potential selector characters */ // Stuff for ccss & ccmx char *path; /* Path to ccss or ccmx. NULL if not valid */ diff --git a/spectro/instappsup.c b/spectro/instappsup.c index 0762bbe..0762bbe 100755..100644 --- a/spectro/instappsup.c +++ b/spectro/instappsup.c diff --git a/spectro/instappsup.h b/spectro/instappsup.h index 8da4325..8da4325 100755..100644 --- a/spectro/instappsup.h +++ b/spectro/instappsup.h diff --git a/spectro/instlib.ksh b/spectro/instlib.ksh index 88796f8..88796f8 100755..100644 --- a/spectro/instlib.ksh +++ b/spectro/instlib.ksh diff --git a/spectro/instlib.txt b/spectro/instlib.txt index 661584d..661584d 100755..100644 --- a/spectro/instlib.txt +++ b/spectro/instlib.txt diff --git a/spectro/insttypeinst.h b/spectro/insttypeinst.h index ad8047d..ad8047d 100755..100644 --- a/spectro/insttypeinst.h +++ b/spectro/insttypeinst.h diff --git a/spectro/insttypes.c b/spectro/insttypes.c index 5a660a8..5a660a8 100755..100644 --- a/spectro/insttypes.c +++ b/spectro/insttypes.c diff --git a/spectro/insttypes.h b/spectro/insttypes.h index ab80cd2..ab80cd2 100755..100644 --- a/spectro/insttypes.h +++ b/spectro/insttypes.h diff --git a/spectro/iusb.h b/spectro/iusb.h index a254ec0..a254ec0 100755..100644 --- a/spectro/iusb.h +++ b/spectro/iusb.h diff --git a/spectro/kleink10.c b/spectro/kleink10.c index 461cb28..461cb28 100755..100644 --- a/spectro/kleink10.c +++ b/spectro/kleink10.c diff --git a/spectro/kleink10.h b/spectro/kleink10.h index 4dcc334..4dcc334 100755..100644 --- a/spectro/kleink10.h +++ b/spectro/kleink10.h diff --git a/spectro/linear.cal b/spectro/linear.cal index ac93eb5..96cad93 100755..100644 --- a/spectro/linear.cal +++ b/spectro/linear.cal @@ -2,7 +2,7 @@ CAL DESCRIPTOR "Argyll Device Calibration Curves" ORIGINATOR "Argyll synthcal" -CREATED "Tue Aug 18 00:14:21 2015" +CREATED "Mon Sep 07 03:37:56 2015" DEVICE_CLASS "DISPLAY" COLOR_REP "RGB" diff --git a/spectro/linear.sp b/spectro/linear.sp index 8851462..8851462 100755..100644 --- a/spectro/linear.sp +++ b/spectro/linear.sp diff --git a/spectro/madvrwin.c b/spectro/madvrwin.c index e131e5e..e131e5e 100755..100644 --- a/spectro/madvrwin.c +++ b/spectro/madvrwin.c diff --git a/spectro/madvrwin.h b/spectro/madvrwin.h index bbaf32e..bbaf32e 100755..100644 --- a/spectro/madvrwin.h +++ b/spectro/madvrwin.h diff --git a/spectro/mongoose.c b/spectro/mongoose.c index 019101e..019101e 100755..100644 --- a/spectro/mongoose.c +++ b/spectro/mongoose.c diff --git a/spectro/mongoose.h b/spectro/mongoose.h index 1ee0c47..1ee0c47 100755..100644 --- a/spectro/mongoose.h +++ b/spectro/mongoose.h diff --git a/spectro/munki.c b/spectro/munki.c index 57f5ce8..57f5ce8 100755..100644 --- a/spectro/munki.c +++ b/spectro/munki.c diff --git a/spectro/munki.h b/spectro/munki.h index 01eda29..01eda29 100755..100644 --- a/spectro/munki.h +++ b/spectro/munki.h diff --git a/spectro/munki_imp.c b/spectro/munki_imp.c index 6f49d0d..6f49d0d 100755..100644 --- a/spectro/munki_imp.c +++ b/spectro/munki_imp.c diff --git a/spectro/munki_imp.h b/spectro/munki_imp.h index ea9451f..ea9451f 100755..100644 --- a/spectro/munki_imp.h +++ b/spectro/munki_imp.h diff --git a/spectro/oemarch.c b/spectro/oemarch.c index a9bbda1..a9bbda1 100755..100644 --- a/spectro/oemarch.c +++ b/spectro/oemarch.c diff --git a/spectro/oemarch.h b/spectro/oemarch.h index b0b1a65..b0b1a65 100755..100644 --- a/spectro/oemarch.h +++ b/spectro/oemarch.h diff --git a/spectro/oeminst.c b/spectro/oeminst.c index bce7a67..bce7a67 100755..100644 --- a/spectro/oeminst.c +++ b/spectro/oeminst.c diff --git a/spectro/pollem.c b/spectro/pollem.c index f7578c8..f7578c8 100755..100644 --- a/spectro/pollem.c +++ b/spectro/pollem.c diff --git a/spectro/pollem.h b/spectro/pollem.h index f8a86ee..f8a86ee 100755..100644 --- a/spectro/pollem.h +++ b/spectro/pollem.h diff --git a/spectro/rspec.c b/spectro/rspec.c index 49d725b..49d725b 100755..100644 --- a/spectro/rspec.c +++ b/spectro/rspec.c diff --git a/spectro/rspec.h b/spectro/rspec.h index bc5d427..bc5d427 100755..100644 --- a/spectro/rspec.h +++ b/spectro/rspec.h diff --git a/spectro/smcube.c b/spectro/smcube.c index 1618447..1618447 100755..100644 --- a/spectro/smcube.c +++ b/spectro/smcube.c diff --git a/spectro/smcube.h b/spectro/smcube.h index 7283635..7283635 100755..100644 --- a/spectro/smcube.h +++ b/spectro/smcube.h diff --git a/spectro/spec2cie.c b/spectro/spec2cie.c index c9e570c..aa91ebb 100755..100644 --- a/spectro/spec2cie.c +++ b/spectro/spec2cie.c @@ -514,8 +514,10 @@ main(int argc, char *argv[]) { int sidx; /* Sample ID index */ - int ti, ii, Xi, Yi, Zi, Li, ai, bi; + int ti, ii; + int Xi, Yi, Zi, Li, ai, bi; /* CGATS indexes for each field */ int spi[XSPECT_MAX_BANDS]; /* CGATS indexes for each wavelength */ + int oXi, oYi, oZi, oLi, oai, obi; /* CGATS indexes for each ouput field */ xsp2cie *sp2cie; /* Spectral conversion object */ xspect sp; double XYZ[3]; @@ -572,13 +574,17 @@ main(int argc, char *argv[]) /* copy fields to output file (except spectral if nospec) */ for (i = 0; i < icg->t[0].nfields; i++) { - /* See if this is a input spectral field */ - for (j = 0; nospec && j < sp.spec_n; j++) { - if (spi[j] == i) - break; /* Yes it is */ + + if (nospec) { + for (j = 0; nospec && j < sp.spec_n; j++) { + if (spi[j] == i) { + break; /* Yes it is */ + } + } + if (j < sp.spec_n) + continue; /* Skip it */ } - if (nospec == 0 || j >= sp.spec_n) - ocg->add_field (ocg, 0, icg->t[0].fsym[i], icg->t[0].ftype[i]); + ocg->add_field (ocg, 0, icg->t[0].fsym[i], icg->t[0].ftype[i]); } /* create field for XYZ and Lab if not present */ @@ -607,6 +613,13 @@ main(int argc, char *argv[]) if ((bi = ocg->add_field(ocg, 0, "LAB_B", r_t)) < 0) error ("Cannot add field to table"); + oXi = Xi; + oYi = Yi; + oZi = Zi; + oLi = Li; + oai = ai; + obi = bi; + /* allocate elements */ if ((elems = (cgats_set_elem *) @@ -746,25 +759,40 @@ main(int argc, char *argv[]) xspect corr_sp; /* copy all input colums to output (except spectral if nospec) */ - for (jj = j = 0; j < icg->t[0].nfields; j++) { - for (k = 0; nospec && k < sp.spec_n; k++) { - if (spi[k] == j) - break; - } - if (nospec == 0 || k >= sp.spec_n) { - switch (icg->t[0].ftype[j]) { - case r_t: - elems[jj].d = *((double *) icg->t[0].fdata[i][j]); - break; - case i_t: - elems[jj].i = *((int *) icg->t[0].fdata[i][j]); + + if (nospec) { + /* See if this is a spectral field */ + for (k = 0; nospec && k < sp.spec_n; k++) { + if (spi[k] == j) break; - default: - elems[jj].c = (char *) icg->t[0].fdata[i][j]; } - jj++; + + /* It is a spectral field */ + if (k < sp.spec_n) { + continue; /* Skip it */ + } } + + /* Correct the other fields location in output */ + if (j == Xi) oXi = jj; + if (j == Yi) oYi = jj; + if (j == Zi) oZi = jj; + if (j == Li) oLi = jj; + if (j == ai) oai = jj; + if (j == bi) obi = jj; + + switch (icg->t[0].ftype[j]) { + case r_t: + elems[jj].d = *((double *) icg->t[0].fdata[i][j]); + break; + case i_t: + elems[jj].i = *((int *) icg->t[0].fdata[i][j]); + break; + default: + elems[jj].c = (char *) icg->t[0].fdata[i][j]; + } + jj++; } /* Read the spectral values for this patch */ @@ -781,63 +809,16 @@ main(int argc, char *argv[]) /* Write the corrected spectral values for this patch */ if (nospec == 0) { for (j = 0; j < sp.spec_n; j++) { - elems[spi[j]].d = corr_sp.spec[j]; + elems[spi[j]].d = sp.spec[j] = corr_sp.spec[j]; } } -#ifdef ALLOW_PLOT - if (doplot) { - int ii; - double xx[XRES]; - double y1[XRES]; - double y2[XRES]; - double lab[3]; - - icmXYZ2Lab(&icmD50, lab, XYZ); - printf("Patch %d, XYZ = %f %f %f, Lab = %f %f %f\n",i, - XYZ[0], XYZ[1], XYZ[2], lab[0], lab[1], lab[2]); - - /* Plot spectrum out */ - for (ii = 0; ii < XRES; ii++) { - double ww; - - ww = (sp.spec_wl_long - sp.spec_wl_short) - * ((double)ii/(XRES-1.0)) + sp.spec_wl_short; - - xx[ii] = ww; - y1[ii] = value_xspect(&sp, ww); - y2[ii] = 100.0 * value_xspect(&corr_sp, ww); - } - do_plot(xx,y1,y2,NULL,ii); - } -#endif } + + /* No FWA comp */ else { /* Convert it to CIE space */ sp2cie->convert (sp2cie, XYZ, &sp); -#ifdef ALLOW_PLOT - if (doplot) { - int ii; - double xx[XRES]; - double y1[XRES]; - double lab[3]; - - icmXYZ2Lab(&icmD50, lab, XYZ); - printf("Patch %d, XYZ = %f %f %f, Lab = %f %f %f\n",i, - XYZ[0], XYZ[1], XYZ[2], lab[0], lab[1], lab[2]); - - /* Plot spectrum out */ - for (ii = 0; ii < XRES; ii++) { - double ww; - - ww = (sp.spec_wl_long - sp.spec_wl_short) - * ((double)ii/(XRES-1.0)) + sp.spec_wl_short; - - xx[ii] = ww; - y1[ii] = value_xspect(&sp, ww); - } - do_plot(xx,y1,NULL,NULL,ii); - } -#endif + } /* Could use sp2cie->get_cie_il() to get CIE white point */ @@ -846,13 +827,35 @@ main(int argc, char *argv[]) /* This won't work for emmisive though, since get_cie_il() will return 'E' */ icmXYZ2Lab(&icmD50, Lab, XYZ); - elems[Xi].d = XYZ[0] * 100.0; - elems[Yi].d = XYZ[1] * 100.0; - elems[Zi].d = XYZ[2] * 100.0; +#ifdef ALLOW_PLOT + if (doplot) { + int ii; + double xx[XRES]; + double y1[XRES]; + + printf("Patch %d, XYZ = %f %f %f, Lab = %f %f %f\n",i, + XYZ[0], XYZ[1], XYZ[2], Lab[0], Lab[1], Lab[2]); + + /* Plot spectrum out */ + for (ii = 0; ii < XRES; ii++) { + double ww; + + ww = (sp.spec_wl_long - sp.spec_wl_short) + * ((double)ii/(XRES-1.0)) + sp.spec_wl_short; + + xx[ii] = ww; + y1[ii] = value_xspect(&sp, ww); + } + do_plot(xx,y1,NULL,NULL,ii); + } +#endif + elems[oXi].d = XYZ[0] * 100.0; + elems[oYi].d = XYZ[1] * 100.0; + elems[oZi].d = XYZ[2] * 100.0; - elems[Li].d = Lab[0]; - elems[ai].d = Lab[1]; - elems[bi].d = Lab[2]; + elems[oLi].d = Lab[0]; + elems[oai].d = Lab[1]; + elems[obi].d = Lab[2]; ocg->add_setarr(ocg, 0, elems); } @@ -866,7 +869,7 @@ main(int argc, char *argv[]) ocg->del (ocg); /* Clean up */ icg->del (icg); /* Clean up */ - free (elems); + free (elems); } return 0; diff --git a/spectro/specbos.c b/spectro/specbos.c index e819c06..e819c06 100755..100644 --- a/spectro/specbos.c +++ b/spectro/specbos.c diff --git a/spectro/specbos.h b/spectro/specbos.h index e926c42..e926c42 100755..100644 --- a/spectro/specbos.h +++ b/spectro/specbos.h diff --git a/spectro/spotread.c b/spectro/spotread.c index baf1c76..baf1c76 100755..100644 --- a/spectro/spotread.c +++ b/spectro/spotread.c diff --git a/spectro/spyd2.c b/spectro/spyd2.c index b546f6b..b546f6b 100755..100644 --- a/spectro/spyd2.c +++ b/spectro/spyd2.c diff --git a/spectro/spyd2.h b/spectro/spyd2.h index 923234f..923234f 100755..100644 --- a/spectro/spyd2.h +++ b/spectro/spyd2.h diff --git a/spectro/ss.c b/spectro/ss.c index 90720ca..90720ca 100755..100644 --- a/spectro/ss.c +++ b/spectro/ss.c diff --git a/spectro/ss.h b/spectro/ss.h index bff0846..bff0846 100755..100644 --- a/spectro/ss.h +++ b/spectro/ss.h diff --git a/spectro/ss_imp.c b/spectro/ss_imp.c index 6f184b3..6f184b3 100755..100644 --- a/spectro/ss_imp.c +++ b/spectro/ss_imp.c diff --git a/spectro/ss_imp.h b/spectro/ss_imp.h index c298e80..c298e80 100755..100644 --- a/spectro/ss_imp.h +++ b/spectro/ss_imp.h diff --git a/spectro/strange.cal b/spectro/strange.cal index 06725b0..406fba4 100755..100644 --- a/spectro/strange.cal +++ b/spectro/strange.cal @@ -2,7 +2,7 @@ CAL DESCRIPTOR "Argyll Device Calibration Curves" ORIGINATOR "Argyll synthcal" -CREATED "Tue Aug 18 00:14:21 2015" +CREATED "Mon Sep 07 03:37:56 2015" DEVICE_CLASS "DISPLAY" COLOR_REP "RGB" diff --git a/spectro/synthcal.c b/spectro/synthcal.c index 75d18be..75d18be 100755..100644 --- a/spectro/synthcal.c +++ b/spectro/synthcal.c diff --git a/spectro/synthread.c b/spectro/synthread.c index 3a23c31..3a23c31 100755..100644 --- a/spectro/synthread.c +++ b/spectro/synthread.c diff --git a/spectro/usbio.c b/spectro/usbio.c index 668544a..668544a 100755..100644 --- a/spectro/usbio.c +++ b/spectro/usbio.c diff --git a/spectro/usbio.h b/spectro/usbio.h index 578bd83..578bd83 100755..100644 --- a/spectro/usbio.h +++ b/spectro/usbio.h diff --git a/spectro/usbio_bsd.c b/spectro/usbio_bsd.c index 0af13a1..0af13a1 100755..100644 --- a/spectro/usbio_bsd.c +++ b/spectro/usbio_bsd.c diff --git a/spectro/usbio_lx.c b/spectro/usbio_lx.c index cb9ec59..cb9ec59 100755..100644 --- a/spectro/usbio_lx.c +++ b/spectro/usbio_lx.c diff --git a/spectro/usbio_nt.c b/spectro/usbio_nt.c index 8daac0d..8daac0d 100755..100644 --- a/spectro/usbio_nt.c +++ b/spectro/usbio_nt.c diff --git a/spectro/usbio_ox.c b/spectro/usbio_ox.c index d3da59a..d3da59a 100755..100644 --- a/spectro/usbio_ox.c +++ b/spectro/usbio_ox.c diff --git a/spectro/vinflate.c b/spectro/vinflate.c index 847fa28..847fa28 100755..100644 --- a/spectro/vinflate.c +++ b/spectro/vinflate.c diff --git a/spectro/webwin.c b/spectro/webwin.c index e13981a..e13981a 100755..100644 --- a/spectro/webwin.c +++ b/spectro/webwin.c diff --git a/spectro/webwin.h b/spectro/webwin.h index 1f4412a..1f4412a 100755..100644 --- a/spectro/webwin.h +++ b/spectro/webwin.h diff --git a/spectro/xdg_bds.c b/spectro/xdg_bds.c index c1805ed..c1805ed 100755..100644 --- a/spectro/xdg_bds.c +++ b/spectro/xdg_bds.c diff --git a/spectro/xdg_bds.h b/spectro/xdg_bds.h index 5c29790..5c29790 100755..100644 --- a/spectro/xdg_bds.h +++ b/spectro/xdg_bds.h |