annotate R/scratch/test_json.R @ 66:7a61dd082341 default tip

pydc: - fix double free triggered by capsule destructor, when freeing pydc and callback objects, manually
author Tassilo Philipp
date Fri, 24 May 2024 18:16:29 +0200
parents 0cfcc391201f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 library(rjson)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 parseJSON <- function(path)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 parser <- newJSONParser()
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 f <- file(path)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 open(f)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 while(TRUE)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 aLine <- readLines(f, 1)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 if (length(aLine) == 0) break
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 parser$addData( aLine )
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 close(f)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 parser$getObject()
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 # TEST:
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 testfile <- "/lab/eclipse/dyncall/rdyncall/inst/dynports/GL.json"
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 x <- parseJSON(testfile)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 # print(glinfo)