changed | TIO.def |
changed | TIO.mod |
changed | Test02.mod |
changed | Timer.def |
changed | UnixLib.def.m2cc |
changed | UserLib.def |
changed | XFormAus.def.m2cc |
changed | XFormAus.mod.m2cc |
changed | mkall.mod |
copied | fslength.c -> UnixCalls.c |
copied | fslength.def.m2cc -> UnixCalls.def |
fslength.c to UnixCalls.c
--- a/fslength.c +++ b/UnixCalls.c @@ -1,16 +1,29 @@ -/*---------------------------------------------------------------------------*/ -/* fslenght : Kann von FileSystem.Length gerufen werden, um die L"ange einer */ -/* Datei zu ermitteln. */ -/* */ -/* Autor : M. Riedl, Bochum den 08.03.1996 */ -/* */ -/* Letzte "Anderung : */ -/* */ -/* 08.03.1996, M.Riedl : Initial version */ -/* 11.01.2015, M.Riedl : Changed order of arguments to FileLength to avoid */ -/* Problems occuring with HIGH parameter handling of */ -/* different M2 compilers "C" interface */ -/*---------------------------------------------------------------------------*/ + /*------------------------------------------------------------------------*/ + /* UnixCalls - call to Unix functions which need some "C" code around ... */ + /* */ + /* FileLength : Kann von FileSystem.Length gerufen werden, um die L"ange */ + /* einer Datei zu ermitteln. */ + /* SetErrFlag : Ermitteln der Fehlermeldung des letzen fehlgeschlagenen */ + /* Systemfunktionsaufrufs, siehe man errno und man strerror */ + /* */ + /* Letzte "Anderung : */ + /* */ + /* 08.03.96, MRi: Initial version */ + /* 11.01.15, MRi: Changed order of arguments to FileLength to avoid */ + /* Problems occuring with HIGH parameter handling of */ + /* different M2 compilers "C" interface */ + /* 08.06.18, MRi: Umbenennen von fslength to UnixCalls */ + /*------------------------------------------------------------------------*/ + /* Offene Punkte */ + /* */ + /* - Abschaffen von FileLength */ + /* - Umstellen von strrerror durch strerror_r */ + /*------------------------------------------------------------------------*/ + /* Implementation : Michael Riedl */ + /* Licence : GNU Lesser General Public License (LGPL) */ + /*------------------------------------------------------------------------*/ + + /* $Id: UnixCalls.c,v 1.1 2018/06/08 07:46:37 mriedl Exp $ */ #undef debug @@ -50,6 +63,6 @@ strcpy(Fehlerflag, strerror(errno)); } /* SetErrFlag */ -void BEGIN_fslength() +void BEGIN_UnixCalls() { /* Leer, f"ur mtc */ }
fslength.def.m2cc to UnixCalls.def
--- a/fslength.def.m2cc +++ b/UnixCalls.def @@ -1,29 +1,14 @@ -#ifdef __XDS__ -<*+ M2ADDTYPES *> -<*+ M2EXTENSIONS *> -<*+ NOHEADER *> -<* IF NOT DEFINED(GENCTYPES) THEN *> <* NEW GENTYPEDEF+ *> <* END *> -<*+ CSTDLIB *> - -DEFINITION MODULE ["C"] fslength; (* XDS *) - -#endif -#ifdef __GM2__ -DEFINITION MODULE FOR "C" fslength; (* GNU M2 *) - -#endif -#ifdef __MOCKA__ -FOREIGN MODULE fslength; (* Mocka *) -#endif +DEFINITION MODULE ["C"] UnixCalls; (* XDS *) (*========================================================================*) - (* WICHTIG: BITTE NUR DIE DATEI fslenght.def.m2cc EDITIEREN !!! *) + (* WICHTIG: BITTE NUR DIE DATEI UnixCalls.def.m2cc EDITIEREN !!! *) (*========================================================================*) - (* Ermitteln der Laenge einer Datei *) + (* Aufrufe von UNIX Prozeduren mit "C" Huelle *) + (* Call to UNIX procedures with a "C" wrapper *) (* *) (* Es sind 3 Versionen enthalten die mit *) (* *) - (* m2cc -D __{Parameter}__ < fslength.def.m2cc > fslength.def *) + (* m2cc -D __{Parameter}__ < UnixCalls.def.m2cc > UnixCalls.def *) (* *) (* mit Parameter = {XDS|GM2} erzeugt werden koennen. *) (* *) @@ -31,25 +16,40 @@ (* GM2 : Parameter werden fuer den GNU Modula-2 Compilter gesetzt *) (* MOCKA : Parameter werden fuer den MOCKA Compilter gesetzt *) (* *) + (* There are three version contained for XDS,GM2 and the Mocka compiler, *) + (* they can obtained with the m2cc command line shown above *) (*------------------------------------------------------------------------*) - (* Offene Punkte *) - (* *) - (* - Abschaffen des Moduls *) - (*------------------------------------------------------------------------*) - (* Licence : GNU Lesser General Public License (LGPL) *) + (* Implementation : Michael Riedl *) + (* Licence : GNU Lesser General Public License (LGPL) *) (*------------------------------------------------------------------------*) - (* $Id: fslength.def.m2cc,v 1.2 2018/01/14 15:30:34 mriedl Exp $ *) + (* $Id: UnixCalls.def.m2cc,v 1.3 2018/06/08 07:46:25 mriedl Exp mriedl $ *) PROCEDURE FileLength(VAR DateiLaenge : LONGCARD; VAR Fehler : INTEGER; VAR DateiName : ARRAY OF CHAR); (* Als letztes wg. HIGH *) - (*-----------------------------------------------------*) - (* Kann von FileSystem.Length gerufen werden, um die *) - (* L"ange einer Datei zu ermitteln. *) - (*-----------------------------------------------------*) + (*----------------------------------------------------------------*) + (* Kann von FileSystem.Length gerufen werden, um die L"ange *) + (* einer Datei zu ermitteln. *) + (* *) + (* Can be user by FileSystem.Lenght to get the length of a file *) + (* for internal use only. *) + (*----------------------------------------------------------------*) PROCEDURE SetErrFlag(VAR Fehlerflag : ARRAY OF CHAR); -END fslength. + (*----------------------------------------------------------------*) + (* Ermitteln der letzten System-Fehlermeldung. Dies wird mittels *) + (* strerror(errno) und kopieren des gelieferten Zeigerinhalt in *) + (* Fehlerflag erreicht. *) + (* *) + (* Can be used to get the system error massage of the last error *) + (* errno is an integer variable which is set by system calls and *) + (* some library functions in the event of an error to indicate *) + (* what went wrong. "strerror" provides a pointer to a string *) + (* that describes the error code passed in the argument errnum. *) + (* The procedure copies that content to Fehlerflag via strcpy *) + (*----------------------------------------------------------------*) + +END UnixCalls.