aboutsummaryrefslogtreecommitdiff
path: root/lang/siod/files/patch-parser_pratt
blob: 2a58cc38c211e9b295cfa89024be0763034b59f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--- parser_pratt.c	2014-03-25 04:10:42.000000000 -0400
+++ parser_pratt.c	2021-02-15 22:35:51.027451000 -0500
@@ -27,9 +27,10 @@
 {return(err("token_overflow",NIL));}
 
-LISP pratt_read_token(LISP buffer,LISP chars,LISP stream)
+static LISP pratt_read_token(LISP buffer, LISP chars, LISP stream)
 {LISP c,tail;
  char *tk;
  long j=0,tkdim;
- tk = get_c_string_dim(buffer,&tkdim);
+ tk = get_string_data(buffer);
+ tkdim = buffer->storage_as.string.dim;
  while(1)
    if NULLP(c = lgetc(stream))
@@ -39,5 +40,5 @@
    else if NEQ(sym_whitespace,tail)
      break;
- if EQ(sym_string_delim,tail)
+ if EQ(sym_string_delim,tail) {
    while(NNULLP(c = lgetc(stream)))
      if EQ(sym_back_slash,aref1(chars,c))
@@ -58,4 +59,5 @@
      else
        err_token_overflow();
+ }
  if EQ(tail,sym_back_slash)
    c = lgetc(stream);
@@ -66,5 +68,5 @@
  if NULLP(tail)
    return(lreadtk(tk,j));
- else if CONSP(tail)
+ else if CONSP(tail) {
    while(1)
      if NULLP(c = lgetc(stream))
@@ -78,4 +80,5 @@
        {if NEQ(sym_whitespace,aref1(chars,c)) lungetc(c,stream);
 	return(lreadtk(tk,j));}
+ }
  while(1)
    if NULLP(c = lgetc(stream))
@@ -96,4 +99,6 @@
  return(NIL);}
   
+void init_parser_pratt(void); /* Our sole exported symbol */
+
 void init_parser_pratt(void)
 {init_subr_3("pratt_read_token",pratt_read_token);