This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Let state sub fwd decls and nested subs work in anons
[perl5.git] / x2p / str.c
index 0b1c940..c10e974 100644 (file)
--- a/x2p/str.c
+++ b/x2p/str.c
@@ -22,10 +22,10 @@ str_numset(register STR *str, double num)
 char *
 str_2ptr(register STR *str)
 {
-    register char *s;
+    char *s;
 
     if (!str)
-       return "";
+       return (char *)"";      /* probably safe - won't be written to */
     GROWSTR(&(str->str_ptr), &(str->str_len), 24);
     s = str->str_ptr;
     if (str->str_nok) {
@@ -56,7 +56,7 @@ str_sset(STR *dstr, register STR *sstr)
 }
 
 void
-str_nset(register STR *str, register char *ptr, register int len)
+str_nset(register STR *str, register const char *ptr, register int len)
 {
     GROWSTR(&(str->str_ptr), &(str->str_len), len + 1);
     memcpy(str->str_ptr,ptr,len);
@@ -67,9 +67,9 @@ str_nset(register STR *str, register char *ptr, register int len)
 }
 
 void
-str_set(register STR *str, register char *ptr)
+str_set(register STR *str, register const char *ptr)
 {
-    register int len;
+    int len;
 
     if (!ptr)
        ptr = "";
@@ -82,7 +82,7 @@ str_set(register STR *str, register char *ptr)
 }
 
 void
-str_ncat(register STR *str, register char *ptr, register int len)
+str_ncat(register STR *str, register const char *ptr, register int len)
 {
     if (!(str->str_pok))
        str_2ptr(str);
@@ -104,9 +104,9 @@ str_scat(STR *dstr, register STR *sstr)
 }
 
 void
-str_cat(register STR *str, register char *ptr)
+str_cat(register STR *str, register const char *ptr)
 {
-    register int len;
+    int len;
 
     if (!ptr)
        return;
@@ -123,7 +123,7 @@ str_cat(register STR *str, register char *ptr)
 STR *
 str_new(int len)
 {
-    register STR *str;
+    STR *str;
     
     if (freestrroot) {
        str = freestrroot;
@@ -173,10 +173,10 @@ str_gets(register STR *str, register FILE *fp)
 #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
     /* Here is some breathtakingly efficient cheating */
 
-    register char *bp;         /* we're going to steal some values */
-    register int cnt;          /*  from the stdio struct and put EVERYTHING */
-    register STDCHAR *ptr;     /*   in the innermost loop into registers */
-    register char newline = '\n';      /* (assuming at least 6 registers) */
+    char *bp;          /* we're going to steal some values */
+    int cnt;           /*  from the stdio struct and put EVERYTHING */
+    STDCHAR *ptr;      /*   in the innermost loop into registers */
+    char newline = '\n';       /* (assuming at least 6 registers) */
     int i;
     int bpx;
 
@@ -185,7 +185,7 @@ str_gets(register STR *str, register FILE *fp)
      * buffer, so we getc() it back out and stuff it in the buffer.
      */
     i = getc(fp);
-    if (i == EOF) return Nullch;
+    if (i == EOF) return NULL;
     *(--((*fp)->_ptr)) = (unsigned char) i;
     (*fp)->_cnt++;
 #endif
@@ -210,7 +210,7 @@ str_gets(register STR *str, register FILE *fp)
        }
        
        FILE_cnt(fp) = cnt;             /* deregisterize cnt and ptr */
-       FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
+       FILE_ptr(fp) = ptr;
        i = getc(fp);           /* get more characters */
        cnt = FILE_cnt(fp);
        ptr = (STDCHAR*)FILE_ptr(fp);           /* reregisterize cnt and ptr */
@@ -230,7 +230,7 @@ str_gets(register STR *str, register FILE *fp)
 
 thats_all_folks:
     FILE_cnt(fp) = cnt;                        /* put these back or we're in trouble */
-    FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
+    FILE_ptr(fp) = ptr;
     *bp = '\0';
     str->str_cur = bp - str->str_ptr;  /* set length */
 
@@ -239,20 +239,20 @@ thats_all_folks:
 
     static char buf[4192];
 
-    if (fgets(buf, sizeof buf, fp) != Nullch)
+    if (fgets(buf, sizeof buf, fp) != NULL)
        str_set(str, buf);
     else
        str_set(str, No);
 
 #endif /* USE_STDIO_PTR && STDIO_PTR_LVALUE && STDIO_CNT_LVALUE */
 
-    return str->str_cur ? str->str_ptr : Nullch;
+    return str->str_cur ? str->str_ptr : NULL;
 }
 
 STR *
-str_make(char *s)
+str_make(const char *s)
 {
-    register STR *str = str_new(0);
+    STR *str = str_new(0);
 
     str_set(str,s);
     return str;