Index: app/TODO
===================================================================
--- app/TODO	(revision adb4c8d65ba8b406a1703d1c091bcf1af4bdfb3c)
+++ app/TODO	(revision 0e3df7e06ad71d2e763b970d4420a4374e473cdd)
@@ -15,4 +15,7 @@
 * Nowa funkcjonalnoÅÄ dla kot? con? - kaÅŒde zdanie w nowym wierszu
 * opcja info w dgp powinna miec domyslna wartosc d lub h
+* podczas tworzenia dystrybucji pojawiaja sie komunikaty:
+find: /home/to/work/utt/lang/dist/tarball/utt-0.9.2/share/utt/pl_PL.UTF-8/.svn: Nie ma takiego pliku ani katalogu
+find: /home/to/work/utt/lang/dist/tarball/utt-0.9.2/share/utt/pl_PL.ISO-8859-2/.svn: Nie ma takiego pliku ani katalogu
+* przyspieszyÄ process_seg() -> obliczanie prefiksÃ³w pÃ³l z opcji -s i -S raz na poczatku programu, a nie w kolko
 
-
Index: app/src/common/common.cc
===================================================================
--- app/src/common/common.cc	(revision 25ae32e4c2354e0ed6756bbe1de83f39cd814652)
+++ app/src/common/common.cc	(revision 0e3df7e06ad71d2e763b970d4420a4374e473cdd)
@@ -15,6 +15,6 @@
 bool one_field=false;
 bool one_line=false;
-char output_field_prefix[32];
-char input_field_prefix[32];
+char output_field_prefix[FIELD_PREFIX_MAXLEN];
+char input_field_prefix[FIELD_PREFIX_MAXLEN];
 
 extern int argc;
@@ -32,38 +32,4 @@
 }
 
-
-
-
-/*
-parameters:
-        -name - field name, long or short
-        +prefix - field name with ':' appended if long name
-return value:
-        1 if correct field name, 0 otherwise
-examples:
-name    prefix  r.v.
-lem     lem:    1
-@       @       1
-::      'undef' 0
-a,b     'undef' 0
-*/
-int fieldprefix(char *name, char *prefix)
-{
-  if (ispunct(name[0]) && name[1]=='\0') // correct short name
-  {
-    strcpy(prefix, name); return 1;
-  }
-
-  int i=0;
-  while(name[i]!='\0' && isalnum(name[i])) ++i;
-  
-  if(name[i]=='\0' && i>0) // correct long name
-  {
-    sprintf(prefix,"%s:",name); return 1;
-  }
-
-  // incorrect
-  return 0;
-}
 
 
Index: app/src/common/common.h
===================================================================
--- app/src/common/common.h	(revision a7b254ce77c711b3e446417865b7d466028dfa62)
+++ app/src/common/common.h	(revision 0e3df7e06ad71d2e763b970d4420a4374e473cdd)
@@ -24,4 +24,5 @@
 #define MAXAUX 16
 #define FIELD_SEP " \t\n"
+#define FIELD_PREFIX_MAXLEN 32
 
 
@@ -67,12 +68,9 @@
 extern int expand_path(char* inpath, char* outpath);
 
-extern int fieldprefix(char *name, char *prefix);
-
-
 /**************************************************
  * problems with casing                           */
 // sprawdzenie wielkosci liter
-// warto¶æ zwracana:
-// 0 - wszystkie ma³e litery
+// wartoÂ¶ÃŠ zwracana:
+// 0 - wszystkie maÂ³e litery
 // 1 - pierwsza wielka, reszta male
 // 2 - wszystkie wielkie
@@ -105,7 +103,7 @@
 
 // przepisuje s do d
-// nadajac wielko¶æ liter zgodnie z warto¶ci± casing
-// casing - warto¶æ zwracana przez casing()
-// je¶li casing==3 przepisuje bez zmian (za ma³o informacji)
+// nadajac wielkoÂ¶ÃŠ liter zgodnie z wartoÂ¶ciÂ± casing
+// casing - wartoÂ¶ÃŠ zwracana przez casing()
+// jeÂ¶li casing==3 przepisuje bez zmian (za maÂ³o informacji)
 inline void restorecasing(char *s, char *d, int casing)
 {
@@ -186,8 +184,42 @@
 
 
+/*
+parameters:
+        -name - field name, long or short
+        +prefix - field name with ':' appended if long name
+return value:
+        1 if correct field name, 0 otherwise
+examples:
+name    prefix  r.v.
+lem     lem:    1
+@       @       1
+::      'undef' 0
+a,b     'undef' 0
+*/
+inline
+int fieldprefix(char *name, char *prefix)
+{
+  if (ispunct(name[0]) && name[1]=='\0') // correct short name
+  {
+    strcpy(prefix, name); return 1;
+  }
+
+  int i=0;
+  while(name[i]!='\0' && isalnum(name[i])) ++i;
+  
+  if(name[i]=='\0' && i>0) // correct long name
+  {
+    sprintf(prefix,"%s:",name); return 1;
+  }
+
+  // incorrect
+  return 0;
+}
+
 inline
 bool process_seg(char* seg, gengetopt_args_info& args)
 {
   char buf[256];
+  char pref[FIELD_PREFIX_MAXLEN];
   bool ret = !args.process_given;
   if(args.process_given)
@@ -205,9 +237,15 @@
 
   for(int i=0; i<args.select_given; ++i)
-    if(! getfield(seg,args.select_arg[i],buf))
-      return false;
+    {
+      fieldprefix(args.select_arg[i],pref); // !!! ÅATKA - ZOPTYMALIZOWAÄ !!!
+      if(! getfield(seg,pref,buf))
+	return false;
+    }
   for(int i=0; i<args.ignore_given; ++i)
-    if(getfield(seg,args.ignore_arg[i],buf))
-      return false;
+    {
+      fieldprefix(args.ignore_arg[i],pref);  // !!! ÅATKA - ZOPTYMALIZOWAÄ !!!
+      if(getfield(seg,pref,buf))
+	return false;
+    }
   
   if(args.input_field_given & !getfield(seg,input_field_prefix,buf))
Index: app/src/lem/main.cc
===================================================================
--- app/src/lem/main.cc	(revision 13a8a67bce500a27f4c2121c096be175d5daab52)
+++ app/src/lem/main.cc	(revision 0e3df7e06ad71d2e763b970d4420a4374e473cdd)
@@ -51,4 +51,5 @@
 	  tab.clear();
 	  getfield(line,input_field_prefix,form);
+	  
 	  if (form==NULL) continue;//BZDURA
 	  
