vkoskiv
/MacNTP
/amendments
/20
Some touchups for initial v0.1 release
Including:
- Commented out random SysBeeps used for debugging
- Added error messages for missing Gestalt and MacTCP
- Updated default NTP config to our ntp vendor zone
vkoskiv made amendment 20 about 1 year ago
--- cdev.c Thu Sep 21 00:40:28 2023
+++ cdev.c Sun Jan 21 20:09:55 2024
@@ -84,25 +84,25 @@ void *got_clearDev(void *storage);
// Impls
void got_cdev_error(void) {
- SysBeep(30);
- SysBeep(30);
+ //SysBeep(30);
+ //SysBeep(30);
}
void got_memory_error(void) {
- SysBeep(30);
- SysBeep(30);
+ //SysBeep(30);
+ //SysBeep(30);
}
void got_resource_error(void) {
- SysBeep(30);
- SysBeep(30);
+ //SysBeep(30);
+ //SysBeep(30);
}
void *got_initDev(void *storage, DialogPtr dialog, short nitems) {
struct state *s;
storage = NewHandle(sizeof(struct state));
if (!storage) {
- SysBeep(1);
- SysBeep(1);
- SysBeep(1);
+ //SysBeep(1);
+ //SysBeep(1);
+ //SysBeep(1);
}
s = *(struct state **)storage;
s->ntp1 = GetString(NTP1_STR_ID);
@@ -111,9 +111,9 @@ void *got_initDev(void *storage, DialogPtr dialog, sho
s->err = GetString(ERR_STR_ID);
s->dialog = dialog;
if (!s->ntp1 || !s->ntp2 || !s->utc || !s->err) {
- SysBeep(1);
- SysBeep(1);
- SysBeep(1);
+ //SysBeep(1);
+ //SysBeep(1);
+ //SysBeep(1);
}
SetHandleSize(s->ntp1, 256);
SetHandleSize(s->ntp2, 256);
@@ -241,8 +241,8 @@ void *got_hitDev(void *storage, short item) {
if (!validate_ntp_url(ntp1_text)) return storage;
if (!validate_ntp_url(ntp2_text)) return storage;
if (!validate_utc(utc_text)) {
- SysBeep(1);
- SysBeep(1);
+ //SysBeep(1);
+ //SysBeep(1);
return storage;
}
// All good to go, let's store these settings.
@@ -325,7 +325,7 @@ void *got_keyEvtDev(void *storage, EventRecord *event,
return got_cmdKeyEvent(storage, (unsigned char)event->message, item, nitems, d);
}
//FIXME: Can we reach this even?
- SysBeep(30);
+ //SysBeep(30);
return storage;
}
@@ -358,14 +358,14 @@ void *got_cmdKeyEvent(void *storage, unsigned char c,
//SelIText(d, item - nitems, 0, 32767);
return storage;
}
- SysBeep(30);
+ //SysBeep(30);
return storage;
}
void *got_macDev(void *storage) {
long answer;
OSErr gestalt_err;
- SysBeep(1);
+ //SysBeep(1);
gestalt_err = Gestalt(gestaltVersion, &answer);
if (gestalt_err) {
// Gestalt not available, it was introduced in 6.0.4
--- MacNTP.π.r Thu Sep 21 01:01:12 2023
+++ MacNTP.π.r Sun Jan 21 20:58:36 2024
@@ -1,13 +1,14 @@
data 'STR ' (-4048, "NTP1", sysheap) {
- $"0F74 696D 652E 676F 6F67 6C65 2E63 6F6D" /* .time.google.com */
+ $"1476 6B6F 736B 6976 2E70 6F6F 6C2E 6E74" /* .vkoskiv.pool.nt */
+ $"702E 6F72 67" /* p.org */
};
data 'STR ' (-4046, "UTCOFFSET", sysheap) {
- $"062B 3033 3A30 30" /* .+03:00 */
+ $"062B 3032 3A30 30" /* .+02:00 */
};
data 'STR ' (-4047, "NTP2", sysheap) {
- $"0E74 696D 652E 6170 706C 652E 636F 6D" /* .time.apple.com */
+ $"00" /* . */
};
data 'STR ' (-4045, "ERROR", sysheap) {
--- MacNTP.h Thu Sep 7 23:06:56 2023
+++ MacNTP.h Sun Jan 21 19:34:34 2024
@@ -20,6 +20,7 @@
enum MacNTPError {
Success = 0,
MacTCPInitFailed,
+ MacTCPNotFound,
InvalidURL,
BadNtpStructSize,
UDPCreateFailed,
@@ -28,6 +29,7 @@ enum MacNTPError {
InvalidNTPResponse,
OriginTimestampMismatch,
DNSResolveFailed,
+ GestaltMissing,
// Below only for SetSystemTime
ClockWriteFailed,
ClockReadFailed,
--- main.c Fri Jan 1 00:09:00 1904
+++ main.c Sun Jan 21 19:35:52 2024
@@ -41,17 +41,15 @@ int utcstr_to_mins(Str255 utc, long *out);
Handle g_mtcp_init_handle;
void dump_error(enum MacNTPError error, OSErr oserror) {
- Str255 numstr;
+ // Str255 numstr;
StringHandle err_str;
err_str = GetString(ERR_STR_ID);
if (!err_str) {
- SysBeep(10);
- SysBeep(1);
return;
}
SetHandleSize(err_str, 256);
HLock(err_str);
- NumToString(oserror, numstr);
+ // NumToString(oserror, numstr);
switch (error) {
case Success:
SetString(err_str, "\p"); //FIXME: Bit dumb to write this every time?
@@ -59,6 +57,9 @@ void dump_error(enum MacNTPError error, OSErr oserror)
case MacTCPInitFailed:
SetString(err_str, "\pMacTCP init failed");
break;
+ case MacTCPNotFound:
+ SetString(err_str, "\pMacTCP not found");
+ break;
case InvalidURL:
SetString(err_str, "\pInvalid URL");
break;
@@ -83,6 +84,9 @@ void dump_error(enum MacNTPError error, OSErr oserror)
case DNSResolveFailed:
SetString(err_str, "\pDNS resolve failed");
break;
+ case GestaltMissing:
+ SetString(err_str, "\pMissing Gestalt, MacNTP requires >=6.0.8");
+ break;
case ClockWriteFailed:
SetString(err_str, "\pClock write failed");
break;
@@ -151,7 +155,6 @@ int TryMacNTP(Str255 ntp1, Str255 ntp2, Str255 utc) {
if (!ntp1[0]) return 1;
PtoCstr(ntp1);
error = MacNTPFetchTime((char *)(ntp1), &payload, &oserr, utc_offset);
- if (error == DNSResolveFailed) SysBeep(1);
// If the first lookup fails and we have a fallback, try it.
if (error == DNSResolveFailed && ntp2[0]) {
PtoCstr(ntp2);
@@ -190,12 +193,14 @@ void main() {
// And MacTCP in 6.0.3, so we're just going to assume
// the user has at least 6.0.8
ShowInitIcon(MACNTP_ICN_ID_FAILURE, true);
+ dump_error(GestaltMissing, 0);
goto skip;
}
if (Gestalt('mtcp', nil)) {
// MacTCP not found
ShowInitIcon(MACNTP_ICN_ID_FAILURE, true);
+ dump_error(MacTCPNotFound, 0);
goto skip;
}