Zu Deiner ersten Frage: Die AT-Kommandos sind kein "echter" Standard. Sie unterscheiden sich je nach Modem-Hersteller. Ein bestimmter Satz an grundlegenden Befehlen sollte jedoch immer funktionieren, zu Beispiel der Verbindungsaufbau mit
ATDT [i]Telefonnummer[/i]\r\n
So wie ich das verstehe, möchtest Du allerdings keine normale Datenverbindung aufbauen, sondern ein Fax versenden. Das ist etwas komplizierter, zumal Du die zu sendende Grafik erst einmal ins G3-Format umwandeln musst. (Text lässt sich meines Wissens nicht direkt übertragen, sondern muss erst in eine Grafik umgewandelt werden.)
Zu der zweiten Frage: Ich würde auf keinen Fall mit Threads arbeiten, sondern mit der Funktion select(), die mit Angabe eines Timeouts auf Daten wartet. Nach Erreichen des Timeouts kannst Du dann erneut warten, oder Daten senden, je nach dem, was Dein Programm machen soll.
scan_computer schrieb:
rüdiger schrieb:
Änder doch einfach das mv-Programm und nicht den Kernel
das ist auch ein Idee aber wie mache ich das, ich kein ahnung wie ich den mv-programm ändern.
Mach es einfach so, wie only-olli vorgeschlagen hat.
Hallo,
ich wollte nur berichten, dass er doch welche damit infizieren wollte und glaube auch hat.
Dank des Sources war die Entfernung jedoch nicht schwer.
Popen ist eine Möglichkeit. Die Ausgabe in eine Datei zu lenken ist eine Lösung. Noch umständlicher und schlechter könntest Du es lösen, wenn Du versuchst noch eine Datenbank für das Problem heranzuziehen.
Nein, im Ernst - ich würde mir mal die man-page zu opendir(3) und stat(2) anschauen. Die Ausgabe von "ls -l" zu parsen ist in einem C-Programm definitiv der falsche Weg.
a:>43 schrieb:
@loose:
Danke, werd ich probieren!
*noch* lieber waere mir ja ein vorangestelltes Minus ohne Leerzeichen, aber
trotzdem danke.
das wird aber schwer. Da müsstest du der SHELL klar machen, dass das - nicht zum Dateinamen/Befehl gehört. Ich denke, das ist nicht möglich.
cutArray gibt einen Zeiger auf eine lokale Variable zurück, was halt einfach nicht korrekt funktionieren kann.
Also dynamische Speicherreservierung oder einfach nen zweites array übergeben, wo der teil reinkopiert wird.
Alternativ (was imo besser wäre) du nimmst ne struct in der du die start adresse des arrays (bzw dessen mitte) sowie die anzahl (=size/2) ablegst. Die übergibst du dann bei der erstellung.
Im übrigen macht die parallelisierung keinen sinn, da nichts parallelisiert wird. Es müsste nur der zugriff auf sum synchronisiert werden.
dieses sleep() ist unnötig - wichtig ist wie schon gesagt der rückgabewert. wenn der richtige wert ( nähmlich die zu sendende menge an bytes ) erreicht wurde kannst du das nächste send() aufrufen.
blan
dann musst du die ncurses Bibliothek installieren. Die meisten Distros machen bei Bibliothekpaketen den Unterschied zwischen nur Bibliotheken und Entwicklerpaketen mit den Headerfiles. Die brauchst du.