diff options
| author | Arianna Masciolini <uzkamascio@gmail.com> | 2025-08-02 23:01:53 +0200 |
|---|---|---|
| committer | Arianna Masciolini <uzkamascio@gmail.com> | 2025-08-02 23:01:53 +0200 |
| commit | 8f4e8c73d2d17ad49a6b72a93090a7a39e5d84f0 (patch) | |
| tree | 478b68d1e493349f9e74b5c61862830012f2f2f3 /src/server | |
| parent | c2431e06b2fcd53e71f06d54b1b74b102aed7590 (diff) | |
| parent | d983255326d232a9d0e1541e5b48743e6ce35e59 (diff) | |
Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core into release-3.12
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/CGIUtils.hs | 5 | ||||
| -rw-r--r-- | src/server/PGFService.hs | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/server/CGIUtils.hs b/src/server/CGIUtils.hs index 3c5ce2274..0a04c3a6f 100644 --- a/src/server/CGIUtils.hs +++ b/src/server/CGIUtils.hs @@ -34,8 +34,13 @@ stderrToFile :: FilePath -> IO () stderrToFile file = do let mode = ownerReadMode<>ownerWriteMode<>groupReadMode<>otherReadMode (<>) = unionFileModes +#if MIN_VERSION_unix(2,8,0) + flags = defaultFileFlags { append = True, creat = Just mode } + fileFd <- openFd file WriteOnly flags +#else flags = defaultFileFlags { append = True } fileFd <- openFd file WriteOnly (Just mode) flags +#endif dupTo fileFd stdError return () #else diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index 260c2e278..6e72ce5ea 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -448,7 +448,7 @@ pgfMain lcs@(alc,clc) path command tpgf@(t,pgf) = "linearizeTable" -> o =<< doLinearizeTabular pgf # tree % to "random" -> o =<< join (doRandom pgf # cat % depth % limit % to) "generate" -> o =<< doGenerate pgf # cat % depth % limit % to - "translate" -> o =<< doTranslate pgf # input % cat %to%limit%treeopts + "translate" -> o =<< doTranslate pgf # input % cat % to % limit % treeopts "translategroup" -> o =<< doTranslateGroup pgf # input % cat % to % limit "lookupmorpho" -> o =<< doLookupMorpho pgf # from1 % textInput "grammar" -> join $ doGrammar tpgf @@ -571,6 +571,8 @@ limit, depth :: CGI (Maybe Int) limit = readInput "limit" depth = readInput "depth" +default_depth_server = 4 + start :: CGI Int start = maybe 0 id # readInput "start" @@ -781,7 +783,7 @@ doRandom pgf mcat mdepth mlimit to = | tree <- limit trees] where cat = fromMaybe (PGF.startCat pgf) mcat limit = take (fromMaybe 1 mlimit) - depth = fromMaybe 4 mdepth + depth = fromMaybe default_depth_server mdepth doGenerate :: PGF -> Maybe PGF.Type -> Maybe Int -> Maybe Int -> To -> JSValue doGenerate pgf mcat mdepth mlimit tos = @@ -794,7 +796,7 @@ doGenerate pgf mcat mdepth mlimit tos = trees = PGF.generateAllDepth pgf cat (Just depth) cat = fromMaybe (PGF.startCat pgf) mcat limit = take (fromMaybe 1 mlimit) - depth = fromMaybe 4 mdepth + depth = fromMaybe default_depth_server mdepth doGrammar :: (UTCTime,PGF) -> Either IOError (UTCTime,l) -> Maybe (Accept Language) -> CGI CGIResult doGrammar (t1,pgf) elbls macc = out t $ showJSON $ makeObj @@ -1092,7 +1094,7 @@ linearizeTabular pgf (tos,unlex) tree = [(to,lintab to (transfer to tree)) | to <- langs] where langs = if null tos then PGF.languages pgf else tos - lintab to t = [(p,map unlex (nub [t|(p',t)<-vs,p'==p]))|p<-ps] + lintab to t = [(p,map unlex (nub [t | (p',t)<-vs,p'==p])) | p<-ps] where ps = nub (map fst vs) vs = concat (PGF.tabularLinearizes pgf to t) |
