Index: potx.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/potx/Attic/potx.inc,v
retrieving revision 1.1.2.9
diff -u -r1.1.2.9 potx.inc
--- potx.inc	2 May 2007 12:56:31 -0000	1.1.2.9
+++ potx.inc	18 May 2007 14:37:26 -0000
@@ -445,14 +445,28 @@
       list($ctok, $par, $mid, $rig) = array($tokens[$ti], $tokens[$ti+1], $tokens[$ti+2], $tokens[$ti+3]);
       list($type, $string, $line) = $ctok;
       if ($par == "(") {
-        if (in_array($rig, array(")", ","))
-          && (is_array($mid) && ($mid[0] == T_CONSTANT_ENCAPSED_STRING))) {
-            $strings[_potx_format_quoted_string($mid[1])][$file][] = $line . ($markdup ? '(dup)' : '');
-        }
-        else {
+        $midstring = '';
+        $midoffset = 2;
+
+        do {
+          if (is_array($mid) && ($mid[0] == T_CONSTANT_ENCAPSED_STRING)) {
+            $midstring .= _potx_format_quoted_string($mid[1]);
+
+            if (in_array($rig, array(")", ","))) {
+              $strings[$midstring][$file][] = $line . ($markdup ? '(dup)' : '');
+              break;
+            }
+            else if ($rig == ".") {
+              $midoffset += 2;
+              list($mid, $rig) = array($tokens[$ti+$midoffset], $tokens[$ti+$midoffset+1]);
+              continue;
+            }
+          }
           // $functionname() found, but inside is something which is not a string literal
           _potx_marker_error($file, $line, $functionname, $tokens, $ti);
+          break;
         }
+        while (TRUE);
       }
     }
   }
