[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DDL-ML] Start / Funktions Probleme mit dtcltiny-0.3.3



NMorgen allerseits,
zum Thema Speicherzugriffsfehler habe ich was gefunden: Ich hab mich wohl mit
der Speicherreservierung für den Hostnamen etwas vertan. Deshalb beiliegend 
ein patch, den man folgendermassen einspielt:
1. Ins Verzeichnis über dtcltiny-0.3.3 wechseln
2. Patch ins aktuelle Verzeichnis kopieren
3. Eingeben: patch -p0 <dtcltiny-0.3.4.fixLongHostnames.patch
4. Dann mit make neu übersetzen

Zur xlib-Warnung kann ich nichts sagen. Die Schwierigkeiten mit der direkten 
Angabe der IP-Adresse kann ich nicht nachvollziehen. Die verwendete Funktion
zur Namensauflösung gethostbyname() sollte mit Hostnamen und IP-Adressen 
zurechtkommen. Dies funktioniert bei mir auch mit 127.0.0.1 sowie mit der 
Netzwerkadresse zum virtuellen vmware-Rechner problemlos. Vielleicht funzt es 
bei dir ja nun auch. Wenn nicht, muss ich dem wohl mal nachgehen.

-- 
Gruß
Markus
diff -Naur dtcltiny-0.3.4.fixLongHostnames/dtcltiny/MainWindow.cpp dtcltiny-0.3.4/dtcltiny/MainWindow.cpp
--- dtcltiny-0.3.4.fixLongHostnames/dtcltiny/MainWindow.cpp	Sun Apr 29 15:19:22 2001
+++ dtcltiny-0.3.4/dtcltiny/MainWindow.cpp	Mon Oct  1 23:33:20 2001
@@ -33,7 +33,7 @@
 #include "LocoDialog.h"
 #include "Programmer.h"
 
-#include <iostream.h>
+#include <iostream>
 // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 MainWindow::MainWindow( int Port, const char *HostName, const char *filename_ ) : QMainWindow( 0, "this is the main window" )
@@ -43,10 +43,7 @@
   iNumOfLocos = 0;
   dummyWidget = 0L;
   infoPort = 0L;
-  cHostName = (char *)malloc( sizeof( HostName )+1 );   // stores CLI-arguments for
-  if ( cHostName )                             // socket connection
-    strcpy( cHostName, HostName );
-
+  cHostName = QString(HostName);
   initSocket();
   setupMainWindow();                            // setting up application´s main window
   if (filename_ != 0)
diff -Naur dtcltiny-0.3.4.fixLongHostnames/dtcltiny/MainWindow.h dtcltiny-0.3.4/dtcltiny/MainWindow.h
--- dtcltiny-0.3.4.fixLongHostnames/dtcltiny/MainWindow.h	Mon Mar 12 19:37:27 2001
+++ dtcltiny-0.3.4/dtcltiny/MainWindow.h	Mon Oct  1 23:32:57 2001
@@ -95,7 +95,7 @@
    int     iNumOfLocos;
    int     iPort;
    bool    bStarted;
-   char    *cHostName;
+   QString cHostName;
    QString filename;
    int     cleanupNumber;   
    CommandPort *commandPort;