linux-avmb1:Re: linux-avmb1:capi4hylafax -> LocalIdentifier ändern

Michael Rolf mi.rolf at gmx.net
Wed Mar 31 20:55:04 CEST 2004


Hallo,

ich habe den Fall mal kurz mit der cvs-Version (ungefähr 01.02.03) auf der 
Konsole getestet. Ergebniss:

Es gibt an der Stelle im CAPI4Hylafax kein Leerzeichen-Problem!

Hier ein paar erfolgreiche Aufrufe:
c2faxsend -c LocalIdentifier:"\"Vorname Name\"" -f TIFF -d ...
oder 
c2faxsend -c LocalIdentifier:"Vorname Name" -f TIFF -d ...
oder
c2faxsend -c "LocalIdentifier:\"Vorname Name\"" -f TIFF -d ...

Wichtig ist, daß der Part mit dem LocalIdentifier von der Shell als ein String 
an c2faxsend weitergegeben wird.
Vielleicht sollte man besser nicht den Weg über den PARAMSTRING nutzen, 
wodurch der String schnell in mehrere Unterstrings getrennt wird, sondern 
alles beim Aufruf zusammensetzen:
c2faxsend -c "LocalIdentifier:$CLI" ...

Das beim Aufruf dann nichts verschickt wird ist klar, da c2faxsend mit den 
Parametern nichts anfangen kann und abbricht.
 
Michael


Am Dienstag, 16. März 2004 09:04 schrieb Nico Kretschmar:
> Michael Rolf schrieb:
> > Am Montag, 15. März 2004 14:08 schrieb Nico Kretschmar:
> >>HalliHallo,
> >>
> >>eine Frage an die Liste oder Michael Rolf:
> >>
> >>Ich will per wrapper-Script die Tagline von Hylafax an c2faxsend
> >>übergeben, habe allerdings Probleme, wenn im String des Parameters
> >>"LocalIdentifier" Leerzeichen sich befinden. Ersetze ich die Leerzeichen
> >>durch Punkte geht es. Folgende Möglichkeite funzen auch nicht:
> >>
> >>PARAMETER="-c LocalIdentifier:\"Name mit Leerzeichen\""
> >>PARAMETER="-c LocalIdentifier:'Name mit Leerzeichen'"
> >>
> >>Gibt es ein Hintertürchen ? ... habe im src-Code mit meinen bescheiden
> >>Code-Kenntnissen nichts gefunden...
> >
> > Hintertürchen nein, aber die C4H cvs Version unterstützt schon, auf
> > einfache Art, die Tagline von Hylafax.
> > Einfach bei der Tagline "FaxNumber|LocalIdentifier" angeben.
> > Das Wrapper-Script wird also nicht mehr benötigt.
>
> Ist verstanden, aber ich verwende hier eine angepasste Version von WHFC
> und die füllt die Tagline im Queuefile nicht. Hylafax ist v4.1.3 von der
> SuSE-Distri. Ist allerdings auch nicht nötig, ich möchte die FaxNummer
> und CLI schon gerne per Script verwalten...
>
> > Ansonsten nutzt C4H die Anführungszeichen: c2faxsend -c
> > LocalIdentifier=\"Name mit Leerzeichen\" sollte funktionieren.
> > In deinem Fall muß du wegen der Interpretation durch die Shell die
> > Anführungszeichen stärker "absichern", also entweder mit \\\" oder sogar
> > \\\\\\\".
>
> ???
> Also mit vorangestellten \\\" oder \\\\\" oder \\\\\\\" usw. geht es
> nicht, d.h. der Job wird von Hylafax solange zurückgehalten bis ich die
> LocalIdentifier Anweisung wieder entferne dann geht das Fax sofort raus.
>
> Hier mal mein schnippsel aus dem Wrapper-Skript (Danke auch an Ufuk,
> Holger und Stefan)
>
> QFILE=`echo $@ | awk '{print $NF}'`
> MAILADDR=`awk -F: /mailaddr/'{print $2}' /var/spool/fax/$QFILE`
> LOCALIDENTIFIER=`awk -F: /sender/'{print $2}' /var/spool/fax/$QFILE`
> MSN=`awk /$MAILADDR/'{print $1}' /var/spool/fax/etc/users`
>
> FAXNUM="+49.XXXX.XX.$MSN"
> CLI="Firma - $LOCALIDENTIFIER"
>
> if [ -z "$PARAMSTRING" ]
> then
> PARAMSTRING="-c LocalIdentifier:\\\"$CLI\\\" -c OutgoingMSN:$MSN -c
> FaxNumber:$FAXNUM"
> else
> PARAMSTRING="-c LocalIdentifier:\\\"$CLI\\\" -c OutgoingMSN:$MSN -c
> FaxNumber:$FAXNUM $PARAMSTRING"
> fi
>
> Vielleicht ist es sinnvoll einen anderen Quoting-Character zu verwenden,
> z.Bsp. "'" , oder das Leerzeichen mit einem Platzhalter zu ersetzen, wie
> bei der FaxNumber.



More information about the linux-avmb1 mailing list