' compile: fbc.exe -s console cdp.bas Function CommonDirectoryPath Cdecl(count As Integer, ...) As String Dim As String Path(), s Dim As Integer i, j, k = 1 Dim arg As Any Ptr Const PATH_SEPARATOR As String = "/" arg = va_first() ReDim Preserve Path(1 To count) For i = 1 To count Path(i) = *Va_Arg(arg, ZString Ptr) Print Path(i) arg = va_next(arg, ZString Ptr) Next i Do For i = 1 To count If i > 1 Then If InStr(k, Path(i), PATH_SEPARATOR) <> j Then Exit Do ElseIf Left(Path(i), j) <> Left(Path(1), j) Then Exit Do End If Else j = InStr(k, Path(i), PATH_SEPARATOR) If j = 0 Then Exit Do End If End If Next i s = Left(Path(1), j + CLng(k <> 1)) k = j + 1 Loop Return s End Function ' testing the above function Print CommonDirectoryPath( 3, _ "/home/user1/tmp/coverage/test", _ "/home/user1/tmp/covert/operator", _ "/home/user1/tmp/coven/members") & " <- common" Print Print CommonDirectoryPath( 4, _ "/home/user1/tmp/coverage/test", _ "/home/user1/tmp/covert/operator", _ "/home/user1/tmp/coven/members", _ "/home/user1/abc/coven/members") & " <- common" Print Print CommonDirectoryPath( 3, _ "/home/user1/tmp/coverage/test", _ "/hope/user1/tmp/covert/operator", _ "/home/user1/tmp/coven/members") & " <- common" Print ' empty keyboard buffer While Inkey <> "" : Wend Print : Print "hit any key to end program" Sleep End