Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » P8000 Dateinamen und Paramter » Themenansicht

Autor Thread - Seiten: -1-
000
13.03.2011, 18:32 Uhr
Mobby5



Welche Zeichen dürfen beim P8000-Wega NICHT im Dateinamen enthalten sein?
Wieviele Dateinamen dürfen bei putfile und getfile angegeben werden bzw. wie lang darf eine Eingabezeile sein?
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden

Dieser Beitrag wurde am 13.03.2011 um 18:45 Uhr von Mobby5 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
15.03.2011, 13:02 Uhr
Olli

Avatar von Olli

Mir sind aktuell keine Beschraenkungen bzgl. Dateinamen bekannt. Bei der Eingabezeile gibt es auf jedenfall Beschraenkungen genauso wie bei der Laenge der Dateinamen - aber habe beide nicht parat, sorry!
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
15.03.2011, 13:31 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Mobby5 schrieb
Welche Zeichen dürfen beim P8000-Wega NICHT im Dateinamen enthalten sein?

Schrägstriche.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
15.03.2011, 16:54 Uhr
Mobby5



Was ist mit Fragezeichen, Sternchen, Leerzeichen, "größer als" und "kleiner als", Tilde, Klammern usw.? Darf das alles vorkommen? Das Schrägstriche nicht vorkommen dürfen, habe ich schon gelesen. Wie werden Leerzeichen im Name erkannt? Muss dann der Name in Anführungzeichen stehen? Was wäre dann wieder mit den Anführungszeichen im Dateinamen?

Fragen über Fragen...
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
15.03.2011, 17:58 Uhr
Tom Nachdenk



Also falls Claßen/Oefler: 'Unix und C' für den P8000 gelten, beträgt die maximale Länge eines Dateinamen 14 Zeichen. Zu den erlaubten Zeichen wird bemerkt das 'alles' erlaubt sein, von Sonderzeichen aber abgeraten. Sonderzeichen sind in der Eingabezeile durch einen Backslash zu 'escapen', der Backslash selbst ist dann \\.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
15.03.2011, 18:22 Uhr
holm

Avatar von holm

Ähäm... was heißt hier darf nicht vorkommen? Die dürfen vorkommen aber sie erzeugen Kuddelmuddel wenn die Shell sie interpretiert. Du mußt Sie dann entsprechend vor der Interpretation als Wildcard maskieren. Niemand verbietet Dir aber sie in einem C-Programm
z.B. mittels Sytemcall zu erzeugen. Auch Schrägstriche dürfen ausdrücklich vorkommen,
allerdings referenziert so ein Konstrukt dann automatisch eine Datei in einem Pfad,
was nicht verkehrt sein muß. ein fopen("/lolo","r") öffnet Dir problemlos eine Datei namens
lolo im Rootverzeichnis zum lesen...

Wir sind doch hier nicht bei Willhelm Tore und Konsorten, die schon jahrzehntelang versuchen ein Betriebssystem zu bauen und nur Codemüllhalden schaffen:

$ touch "~><!*"
$ ls -l
[..]
-rw-r--r-- 1 holm holm 68993 20 Jul 2010 xpla-bulkerase.pdf
drwxr-xr-x 2 holm holm 1024 3 Mär 2010 zu-ebay
drwxr-xr-x 2 holm holm 1024 9 Feb 21:06 zugelaufen
-rw-r--r-- 1 holm holm 0 15 Mär 17:53 ~><!*

$ rm "./~><!*"
ls
[..]
-rw-r--r-- 1 holm holm 68993 20 Jul 2010 xpla-bulkerase.pdf
drwxr-xr-x 2 holm holm 1024 3 Mär 2010 zu-ebay
drwxr-xr-x 2 holm holm 1024 9 Feb 21:06 zugelaufen
$

..und weg isses.

Ok, das ist FreeBSD und nicht Wega, aber deutliche Unterschiede dürfte es da nicht geben.

Wenn mich nicht Alles täuscht dürfen Dateinamen auf dem P8000 14 Zeichen lang sein,
sicher bin ich mir da aber jetzt nicht. Ich müßte die Kiste erst mal booten oder bei Olli in den Quellen kramen. Wenn die 14 Zeichen nicht stimmen sind es 255...


Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
15.03.2011, 19:01 Uhr
Mobby5



Habe auch noch mal diveres UNIX-Bücher gewälzt. Es ist wirklich alles erlaubt, ausser dem Schrägstrich. Sogar Steuerzeichen sind erlaubt! Dazu steht allerdings auch, dass es nicht ratsam ist, andere Zeichen als Buchstaben, Zahlen, Unterstrich und Punkt zu benutzen, weil es zu Problemen bei der Dateinamensverarbeitung führen kann.
Na gut, werde ich bei meinem Terminalprogramm die Abfrage nochmal umbauen. Betrifft auch nur den Menüpunkt "Senden zu...". Bei manueller Eingabe von "getfile" kümmert sich ja der P8000 darum.

Bleibt nur noch die Frage nach der Kommandozeilenlänge. Die Anzahl der Parameter (Dateinamen) bei putfile und getfile scheint ja quasi beliebig zu sein.

Nachtrag: 14 Zeichen sollen die maximale Länge bei Wega sein. Habe auch schon gelesen, dass es UNIX-Varianten gibt, bei denen die Namen länger sein dürfen, aber nur in den "ersten" 14 Zeichen unterschieden werden.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden

Dieser Beitrag wurde am 15.03.2011 um 19:09 Uhr von Mobby5 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
15.03.2011, 20:46 Uhr
holm

Avatar von holm

Schaue einfach mal in /usr/include/*.h nach BUFSIZ. Damit kannst Du nicht viel falsch machen.
(oft 512). (cd /usr/include; grep BUFSIZ *) Wenn Du da nix findest probiere es in /usr/include/sys nochmal.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
15.03.2011, 21:18 Uhr
Mobby5



@holm
Habe gesucht, in der stdio.h steht was von: #define BUFSIZ 512. Soll das wirklich die Länge einer Eingabezeile sein? Muss ich mal sehen, dass ich das irgendwie ausprobiert kriege.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
15.03.2011, 22:26 Uhr
holm

Avatar von holm

Das bedeutet das diese nicht länger sein kann, da der Eingabepuffer i.A. genau so groß ist wie Bufsiz.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
20.04.2012, 14:11 Uhr
Mobby5



Beitrag gelöscht, da im falschen Thread.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden

Dieser Beitrag wurde am 20.04.2012 um 16:25 Uhr von Mobby5 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek