OSSP CVS Repository

ossp - Check-in [1350]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 1350
Date: 2001-Nov-16 16:19:14 (local)
2001-Nov-16 15:19:14 (UTC)
User:simons
Branch:
Comment: The :? has been removed from the specification.
Tickets:
Inspections:
Files:
ossp-pkg/var/SPEC      1.1 -> 1.2     30 inserted, 34 deleted

ossp-pkg/var/SPEC 1.1 -> 1.2

--- SPEC 2001/11/11 12:40:42     1.1
+++ SPEC 2001/11/16 15:19:14     1.2
@@ -1,6 +1,6 @@
 
 - Name:
-   
+
   OSSP var (Variable Expansion Library)
 
 - Description:
@@ -18,38 +18,34 @@
   - Eine Variable kann im Text in der Form $name oder ${name} angegeben
     werden, wobei die Wahl der Klammern '{' '}' und des '$'
     parametriesiert werden können.
- 
+
   - Gültige Zeichen für einen Variablennamen sind konfigurierbar.
     Garbage in -- garbage out.
- 
+
   - Ein echtes '$'-Zeichen im Text kann durch Voranstellung eines
     wählbaren Escapezeichen dargestellt werden. Default ist der
     Backslash ('\').
- 
+
   - Der Aufrufer der Funktion soll steuern können, wie sich die Library
     verhält, wenn eine Variable nicht existiert. Denkbar sind:
- 
+
      - Abbruch mit Fehler,
      - die Variable wird zu "", oder
      - der Ausdruck wird unverändert in den Ausgabetext übernommen,
        sodaß eventuell ein zweiter Pass gemacht werden kann.
- 
+
   - ${parameter:-word} wird normal expandiert. Wenn "parameter" leer
     ist, wird stattdessen "word" eingesetzt.
- 
-  - ${parameter:?word} wird normal expandiert. Wenn "parameter" leer
-    ist, bricht die Verarbeitung mit Fehler ab und "word" wird als
-    Begründung zurückgegeben.
- 
+
   - ${parameter:+word} substituiert die Expansion von "${word}" wenn
     "parameter" nicht leer ist, sonst wird "" substituiert.
- 
+
   - ${parameter:o<start>-}, ${parameter:o<start>-<end>}
- 
+
   - ${parameter:o<start>,}, ${parameter:o<start>,<length>}
- 
+
   - ${parameter:#} expandiert zur Länge des Inhaltes von "parameter".
- 
+
   - ${parameter:s/pattern/string/[gti]} expandiert "parameter" und
     führt dann eine Ersetzung mittels des regulären Ausdrucks "pattern"
     durch. Wird das 'g'-Flag angegeben, wird nicht nur eine Instanz von
@@ -57,25 +53,25 @@
     signalisiert, daß eine reine Text-Ersetzung ohne Unterstützung von
    regulären Ausdrücken gewünscht ist. Das 'i'-Flag besagt, daß die
     Suche nach "pattern" case-insensitiv durchgeführt wird.
- 
+
   - ${parameter:y/ochars/nchars/} expandiert den Inhalt von "parameter"
     und transformiert dabei nach dem Prinzip von tr(1) die "ochars" im
     Text zu "nchars".
- 
+
   - ${parameter:l} wandelt den Inhalt von "parameter" in
     Kleinbuchstaben, bevor es die Variable expandiert. Dies geschieht
     über toupper(3).
- 
+
   - ${parameter:u} wandelt den Inhalt von "parameter" in
     Großbuchstaben, bevor es die Variable expandiert. Dies geschieht
     über tolower(3).
- 
+
   - ${parameter:*word} expandiert zum leeren Wort, wenn "parameter"
     nicht leer ist, sonst zu "word".
- 
+
   - Jedes Vorkommen eines der folgenden Konstrukte im Text wird durch
     das zugehörige Sonderzeichen ersetzt.
- 
+
         \t          tab
         \n          newline
         \r          return
@@ -88,7 +84,7 @@
     von <align> ("r" = right, "l" = left, "c" = center) noch fehlende
     Zeichen mit <string> aufgefuellt werden. Diest ist gedacht, um in
     Templates saubere Tabellen erzeugen zu koennen.
-    Beispiele (foo="bar"): 
+    Beispiele (foo="bar"):
         "${foo:p/6/./r}" -> "bar..."
         "${foo:p/6/./l}" -> "...bar"
         "${foo:p/6/./c}" -> ".bar.." (oder "..bar.", egal)
@@ -97,26 +93,26 @@
 - API (var.h):
 
   | int (*var_cb_t)(void *context,
-  |                 const char *varname, 
+  |                 const char *varname,
   |                 size_t name_len,
-  |                 char *const *data, 
-  |                 size_t *data_len, 
+  |                 char *const *data,
+  |                 size_t *data_len,
   |                 char *malloced_buffer);
-  |                 
+  |
   | typdef struct {
   |     char  varinit;
   |     char  startdelim;
-  |     char  enddelim;  
-  |     char  escape;    
-  |     char* namechars; 
+  |     char  enddelim;
+  |     char  escape;
+  |     char* namechars;
   |     char  force_expand;
   | } var_config_t;
-  | 
+  |
   | extern const var_config_t var_config_default;
-  | 
-  | int var_expand(const char *input, 
+  |
+  | int var_expand(const char *input,
   |                size_t input_len,
-  |                char **result, 
+  |                char **result,
   |                size_t *result_len,
   |                const char **error_msg,
   |                varexp_lookup_cb lookup,
@@ -127,7 +123,7 @@
 
   Makefile ..... build procedure (minimal only!)
   var.ac ....... Autoconf macro OSSP_VAR
-  var.h ........ OSSP var public API 
+  var.h ........ OSSP var public API
   var.c ........ OSSP var implementation
   var.pod ...... OSSP var manual page
   var_test.c ... OSSP var test suite

CVSTrac 2.0.1