AmendHub

Download:

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; }