XMXUTIL1 ;ISC-SF/GMB-Date & String Utilities ;04/17/2002 14:14
Source file <XMXUTIL1.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| TIMETOO(XMD,XMT) | ; For internal MailMan use only.  Combine date and time, adjusting for difference from GMT. | |
| ENCODEUP(XMSUBJ) | ; Change ^ to ~U~ | 
 
 | 
| CONFIRM(XMDUZ,XMZ,XMIM) | ; For internal MailMan use only.  Send confirmation message to sender. | |
| GMTDIFF(XMZONE) | ; Given time zone, returns standard internet time difference from GMT ; XMZONE 3-char time zone name (PST, EDT, etc.) ; returns difference in hours and minutes (+-hhmm) from GMT ; e.g. -0230, +1600 ; If time zone can't be found, returns null string | 
 
 | 
| ZONEDIFF(XMYT,XMHH,XMMM) | ; Given a time zone or time difference from GMT, ; calculates the hours and minutes difference between that zone and ours ; XMYT IN: Your Time zone or Time difference from GMT ; XMHH OUT: The time difference between us in hours ; XMMM OUT: The time difference between us in minutes ; XMYTHH Your Time difference from GMT in hours ; XMYTMM Your Time difference from GMT in minutes ; XMMT My Time difference from GMT ; XMMTHH My Time difference from GMT in hours ; XMMTMM My Time difference from GMT in minutes | 
 
 | 
| MMDT(XMDT) | ; (MailMan Date/Time) Given FM date/time, return external. ; time is optional | 
 
 | 
| DECODEUP(XMSUBJ) | ; Change ~U~ to ^ | 
 
 | 
| SCRUB(XMSTRING) | ; Strip ctrl chars and leading/trailing blanks | 
 
 | 
| INDT(XMDT) | ; (InterNet Date/Time) Given FM date/time, return dd mmm yyyy hh:mm:ss +-hhmm (zone) | 
 
 | 
| MELD(XMSTRING,XMNUMBER,XMLEN) | ; Function right-justifies a string and ; left-justifies a number in a combined string of a given length. ; The string will be truncated, if necessary. ; e.g. $$MELD("I just love Lotus, don't you?",123,22) returns: ; "I just love Lotus 123" | 
 
 | 
| CONVERT(X,XMTIME) | ; Function to convert Internet dates to FM (returns -1 if error) ; X Internet date ; XMTIME =1 Convert time, too; =0 convert date only ; Formats: Tuesday, 28 June 1955 17:30:45 PDT ; Tue, 28 Jun 1955 17:30:45 PDT ; Tue 28 Jun 1955 17:30:45 PDT ; 28 Jun 1955 17:30:45 -0900 (PST) <== MailMan standard ; 28 Jun 55 17:30 PST <== Previous MailMan standard ; Tue Jun 28 17:30:45 PDT 1955 ; 28-JUN-1955 17:30:45 -0400 ; 6/28/55 17:30 ; JUN 28 17:30 1955 | 
 
 | 
| CTRL(XMSTRING) | ; Strip control characters from a string | 
 
 | 
| RCPTTO(XMZ) | ; For internal MailMan use only.  Return-receipt-to a remote address. | |
| TIMEDIFF(XMDIFF) | ; Given time difference, returns standard internet time difference. ; XMDIFF Difference (in hours) from GMT ; e.g. -2.5 => -0230 ; 16 => +1600 | 
 
 | 
| TSTAMP() | ; Timestamp | 
 
 | 
| STRIP(XMSTRING) | ; Strip leading and trailing blanks from a string | 
 
 | 
| MAXBLANK(XMSTRING) | ; Reduce 3 or more consecutive blanks in a string to 2 | 
 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^XMB("TIMEDIFF" | INDT+6, ZONEDIFF+11 | 
| ^XMB("TIMEZONE" | INDT+6, ZONEDIFF+12 | 
| ^XMB(3.9 - [#3.9] | RCPTTO+3, RCPTTO+8 | 
| ^XMB(4.4 - [#4.4] | GMTDIFF+6, GMTDIFF+7 | 
| Name | Line Occurrences | 
|---|---|
| $$CTRL | SCRUB+2 | 
| $$GMTDIFF | ZONEDIFF+13 | 
| $$RCPTTO | CONFIRM+6 | 
| $$SCRUB | RCPTTO+7 | 
| $$STRIP | SCRUB+1 | 
| $$TIMEDIFF | GMTDIFF+8 | 
| $$TIMETOO | CONVERT+28 | 
| ZONEDIFF | TIMETOO+5 | 
| Name | Field # of Occurrence | 
|---|---|
| ^( | RCPTTO+3 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| %DT | CONVERT+12~, TIMETOO+13* | 
| DUZ | CONFIRM+3 | 
| I | STRIP+1~, STRIP+3*, STRIP+4, STRIP+6*, STRIP+7, CTRL+1~, CTRL+2*, CTRL+4*, CTRL+5, CONVERT+15~* , CONVERT+16* | 
| MMDT | MMDT+4~, MMDT+7*, MMDT+9, MMDT+10 | 
| U | ENCODEUP+1, DECODEUP+1, MMDT+7, GMTDIFF+7, RCPTTO+8 | 
| X | TSTAMP+1~, TSTAMP+2*, TSTAMP+3, CONVERT~, CONVERT+13*, CONVERT+14, CONVERT+16*, CONVERT+17, CONVERT+18*, CONVERT+19 , CONVERT+20, CONVERT+21, CONVERT+23, CONVERT+25, CONVERT+26, CONVERT+27, CONVERT+29*, TIMETOO+1~, TIMETOO+12*, ZONEDIFF+23* | 
| XMD | CONVERT+12~, CONVERT+20*, CONVERT+23*, CONVERT+24, CONVERT+25*, CONVERT+28, CONVERT+29, TIMETOO~, TIMETOO+12 | 
| XMDIFF | GMTDIFF+7*, GMTDIFF+8, TIMEDIFF~, TIMEDIFF+5*, TIMEDIFF+7*, TIMEDIFF+8 | 
| XMDT | MMDT~, MMDT+2, MMDT+3, MMDT+5*, MMDT+6*, MMDT+7, MMDT+8*, MMDT+9, MMDT+10, INDT~ , INDT+1*, INDT+2*, INDT+3*, INDT+5*, INDT+6 | 
| XMDUZ | CONFIRM~, CONFIRM+3, CONFIRM+7 | 
| XMHDR | RCPTTO+1~, RCPTTO+2*, RCPTTO+5*, RCPTTO+6*, RCPTTO+7 | 
| XMHH | TIMETOO+1~, TIMETOO+5, TIMETOO+7*, TIMETOO+14, TIMETOO+15, ZONEDIFF~, ZONEDIFF+12*, ZONEDIFF+18* | 
| XMI | RCPTTO+1~, RCPTTO+2*, RCPTTO+3* | 
| XMIEN | GMTDIFF+5~, GMTDIFF+6*, GMTDIFF+7 | 
| XMIM | CONFIRM~ | 
| XMIM("FROM" | CONFIRM+5 | 
| XMIM("SUBJ" | CONFIRM+2 | 
| XMLEN | MELD~, MELD+5, MELD+6*, MELD+7 | 
| XMMM | TIMETOO+1~, TIMETOO+2, TIMETOO+5, TIMETOO+7*, TIMETOO+14, TIMETOO+15, ZONEDIFF~, ZONEDIFF+12*, ZONEDIFF+13*, ZONEDIFF+19* | 
| XMMT | ZONEDIFF+10~, ZONEDIFF+11*, ZONEDIFF+12, ZONEDIFF+16, ZONEDIFF+17 | 
| XMMTHH | ZONEDIFF+10~, ZONEDIFF+16*, ZONEDIFF+17, ZONEDIFF+18 | 
| XMMTMM | ZONEDIFF+10~, ZONEDIFF+17*, ZONEDIFF+19 | 
| XMNUMBER | MELD~, MELD+5, MELD+6, MELD+7 | 
| XMPARM | CONFIRM+1~, CONFIRM+7 | 
| XMPARM(1 | CONFIRM+2* | 
| XMPARM(2 | CONFIRM+3* | 
| XMREC | RCPTTO+1~, RCPTTO+3*, RCPTTO+4, RCPTTO+5, RCPTTO+7 | 
| XMSIGN | TIMEDIFF+4~, TIMEDIFF+5*, TIMEDIFF+6*, TIMEDIFF+8 | 
| XMSTRING | SCRUB~, SCRUB+1*, SCRUB+2*, SCRUB+3, STRIP~, STRIP+2, STRIP+3, STRIP+4*, STRIP+5, STRIP+6 , STRIP+7*, STRIP+8, MAXBLANK~, MAXBLANK+1, MAXBLANK+2*, MAXBLANK+3, CTRL~, CTRL+3, CTRL+4, CTRL+5* , CTRL+6, MELD~, MELD+5, MELD+7 | 
| XMSUBJ | ENCODEUP~, ENCODEUP+1*, ENCODEUP+2, DECODEUP~, DECODEUP+1*, DECODEUP+2 | 
| XMT | CONVERT+12~, CONVERT+21*, CONVERT+26*, CONVERT+27*, CONVERT+28, TIMETOO~, TIMETOO+2, TIMETOO+4, TIMETOO+8*, TIMETOO+9* , TIMETOO+10*, TIMETOO+11*, TIMETOO+12 | 
| XMTIME | CONVERT~, CONVERT+28 | 
| XMTO | CONFIRM+1~, CONFIRM+5*, CONFIRM+6*, CONFIRM+7, RCPTTO+1~, RCPTTO+3, RCPTTO+7*, RCPTTO+8*, RCPTTO+9 | 
| >> XMV("DUZ NAME | " , CONFIRM+3 | 
| >> XMV("NAME" | CONFIRM+3 | 
| XMYT | TIMETOO+3~, TIMETOO+4*, TIMETOO+5, ZONEDIFF~, ZONEDIFF+12, ZONEDIFF+13*, ZONEDIFF+14, ZONEDIFF+15 | 
| XMYTHH | ZONEDIFF+10~, ZONEDIFF+14*, ZONEDIFF+15, ZONEDIFF+18 | 
| XMYTMM | ZONEDIFF+10~, ZONEDIFF+15*, ZONEDIFF+19 | 
| XMZ | CONFIRM~, CONFIRM+6, RCPTTO~, RCPTTO+3, RCPTTO+8 | 
| XMZONE | GMTDIFF~, GMTDIFF+6 | 
| Y | CONVERT+12~, CONVERT+31, TIMETOO+1~, TIMETOO+13, TIMETOO+14, TIMETOO+15 |