XMXUTIL1 ;ISC-SF/GMB-Date & String Utilities ;04/17/2002 14:14
Source file <XMXUTIL1.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
ENCODEUP(XMSUBJ) | ; Change ^ to ~U~
|
|
DECODEUP(XMSUBJ) | ; Change ~U~ to ^
|
|
SCRUB(XMSTRING) | ; Strip ctrl chars and leading/trailing blanks
|
|
STRIP(XMSTRING) | ; Strip leading and trailing blanks from a string
|
|
MAXBLANK(XMSTRING) | ; Reduce 3 or more consecutive blanks in a string to 2
|
|
CTRL(XMSTRING) | ; Strip control characters from a string
|
|
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" |
|
TSTAMP() | ; Timestamp
|
|
MMDT(XMDT) | ; (MailMan Date/Time) Given FM date/time, return external.
; time is optional |
|
INDT(XMDT) | ; (InterNet Date/Time) Given FM date/time, return dd mmm yyyy hh:mm:ss +-hhmm (zone)
|
|
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 |
|
TIMETOO(XMD,XMT) | ; For internal MailMan use only. Combine date and time, adjusting for difference from GMT.
|
|
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 |
|
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 |
|
TIMEDIFF(XMDIFF) | ; Given time difference, returns standard internet time difference.
; XMDIFF Difference (in hours) from GMT ; e.g. -2.5 => -0230 ; 16 => +1600 |
|
CONFIRM(XMDUZ,XMZ,XMIM) | ; For internal MailMan use only. Send confirmation message to sender.
|
|
RCPTTO(XMZ) | ; For internal MailMan use only. Return-receipt-to a remote address.
|
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 |