withQListStringResult :: (Ptr (Ptr (TQString a)) -> IO CInt) -> IO [String]
withQListStringResult f
  = do
    clen <- f nullPtr
    let len = fromCInt clen
    if (len <= 0)
     then return []
     else allocaArray len $ \carr ->
          do f carr
             arr <- peekArray len carr
             mapM stringFromPtr arr
withQListStringResult :: (Ptr (Ptr (TQString a)) -> IO CInt) -> IO [String]
withQListStringResult f
  = do
    clen <- f nullPtr
    let len = fromCInt clen
    if (len <= 0)
     then return []
     else allocaArray len $ \carr ->
          do f carr
             arr <- peekArray len carr
             mapM stringFromPtr arr
withQListStringResult f
  = do
    clen <- f nullPtr
    let len = fromCInt clen
    if (len <= 0)
     then return []
     else allocaArray len $ \carr ->
          do f carr
             arr <- peekArray len carr
             mapM stringFromPtr arr