Mark strings as const when they underlie streams
In the family of functions that create a text stream from a string (e.g., Streams::open_from_ISO_string, Str::new_from_ISO_string) we can mark the input string as const since it is not supposed to be modified. I ran into this when experimenting with trying to create a text stream from the output of "getenv" which is "const char *". I ended up not needing that, but this seems like a good change nonetheless.
This commit is contained in:
parent
9e26459664
commit
9f982e5c95
4 changed files with 36 additions and 36 deletions
|
@ -2759,17 +2759,17 @@ int Streams__open_to_memory(text_stream *stream, int capacity) ;
|
|||
#line 456 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
text_stream Streams__new_buffer(int capacity, wchar_t *at) ;
|
||||
#line 474 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_wide_string(text_stream *stream, wchar_t *c_string) ;
|
||||
int Streams__open_from_wide_string(text_stream *stream, const wchar_t *c_string) ;
|
||||
#line 482 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_wide_string(text_stream *stream, wchar_t *c_string) ;
|
||||
void Streams__write_wide_string(text_stream *stream, const wchar_t *c_string) ;
|
||||
#line 490 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_ISO_string(text_stream *stream, char *c_string) ;
|
||||
int Streams__open_from_ISO_string(text_stream *stream, const char *c_string) ;
|
||||
#line 498 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_ISO_string(text_stream *stream, char *c_string) ;
|
||||
void Streams__write_ISO_string(text_stream *stream, const char *c_string) ;
|
||||
#line 505 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_UTF8_string(text_stream *stream, char *c_string) ;
|
||||
int Streams__open_from_UTF8_string(text_stream *stream, const char *c_string) ;
|
||||
#line 513 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_UTF8_string(text_stream *stream, char *c_string) ;
|
||||
void Streams__write_UTF8_string(text_stream *stream, const char *c_string) ;
|
||||
#line 532 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_as_wide_string(wchar_t *C_string, text_stream *stream, int buffer_size) ;
|
||||
#line 551 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
|
@ -2777,7 +2777,7 @@ void Streams__write_as_ISO_string(char *C_string, text_stream *stream, int buff
|
|||
#line 568 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_as_UTF8_string(char *C_string, text_stream *stream, int buffer_size) ;
|
||||
#line 599 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_locale_string(text_stream *stream, char *C_string) ;
|
||||
int Streams__open_from_locale_string(text_stream *stream, const char *C_string) ;
|
||||
#line 608 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
void Streams__write_as_locale_string(char *C_string, text_stream *stream, int buffer_size) ;
|
||||
#line 616 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
|
@ -3209,13 +3209,13 @@ void Str__dispose_of(text_stream *text) ;
|
|||
#line 57 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__duplicate(text_stream *E) ;
|
||||
#line 73 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__new_from_wide_string(wchar_t *C_string) ;
|
||||
text_stream * Str__new_from_wide_string(const wchar_t *C_string) ;
|
||||
#line 79 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__new_from_ISO_string(char *C_string) ;
|
||||
text_stream * Str__new_from_ISO_string(const char *C_string) ;
|
||||
#line 85 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__new_from_UTF8_string(char *C_string) ;
|
||||
text_stream * Str__new_from_UTF8_string(const char *C_string) ;
|
||||
#line 91 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__new_from_locale_string(char *C_string) ;
|
||||
text_stream * Str__new_from_locale_string(const char *C_string) ;
|
||||
#line 100 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream * Str__from_wide_string(text_stream *S, wchar_t *c_string) ;
|
||||
#line 105 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
|
@ -3355,7 +3355,7 @@ void TextFiles__lose_interest(text_file_position *tfp) ;
|
|||
#line 220 "inweb/foundation-module/Chapter 4/Text Files.w"
|
||||
unicode_file_buffer TextFiles__create_ufb(void) ;
|
||||
#line 226 "inweb/foundation-module/Chapter 4/Text Files.w"
|
||||
int TextFiles__utf8_fgetc(FILE *from, char **or_from, int escape_oddities, unicode_file_buffer *ufb) ;
|
||||
int TextFiles__utf8_fgetc(FILE *from, const char **or_from, int escape_oddities, unicode_file_buffer *ufb) ;
|
||||
#line 77 "inweb/foundation-module/Chapter 4/Tries and Avinues.w"
|
||||
wchar_t * Tries__search(match_trie *T, text_stream *p, wchar_t *add_outcome) ;
|
||||
#line 237 "inweb/foundation-module/Chapter 4/Tries and Avinues.w"
|
||||
|
@ -6827,7 +6827,7 @@ text_stream Streams__new_buffer(int capacity, wchar_t *at) {
|
|||
}
|
||||
|
||||
#line 474 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_wide_string(text_stream *stream, wchar_t *c_string) {
|
||||
int Streams__open_from_wide_string(text_stream *stream, const wchar_t *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) wcslen(c_string)):0;
|
||||
|
||||
|
@ -6845,12 +6845,12 @@ int Streams__open_from_wide_string(text_stream *stream, wchar_t *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams__write_wide_string(text_stream *stream, wchar_t *c_string) {
|
||||
void Streams__write_wide_string(text_stream *stream, const wchar_t *c_string) {
|
||||
for (int i=0; c_string[i]; i++) Streams__putc(c_string[i], stream);
|
||||
}
|
||||
|
||||
#line 490 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_ISO_string(text_stream *stream, char *c_string) {
|
||||
int Streams__open_from_ISO_string(text_stream *stream, const char *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) strlen(c_string)):0;
|
||||
|
||||
|
@ -6868,12 +6868,12 @@ int Streams__open_from_ISO_string(text_stream *stream, char *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams__write_ISO_string(text_stream *stream, char *c_string) {
|
||||
void Streams__write_ISO_string(text_stream *stream, const char *c_string) {
|
||||
for (int i=0; c_string[i]; i++) Streams__putc(c_string[i], stream);
|
||||
}
|
||||
|
||||
#line 505 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_UTF8_string(text_stream *stream, char *c_string) {
|
||||
int Streams__open_from_UTF8_string(text_stream *stream, const char *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) strlen(c_string)):0;
|
||||
|
||||
|
@ -6891,7 +6891,7 @@ int Streams__open_from_UTF8_string(text_stream *stream, char *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams__write_UTF8_string(text_stream *stream, char *c_string) {
|
||||
void Streams__write_UTF8_string(text_stream *stream, const char *c_string) {
|
||||
unicode_file_buffer ufb = TextFiles__create_ufb();
|
||||
int c;
|
||||
while ((c = TextFiles__utf8_fgetc(NULL, &c_string, FALSE, &ufb)) != 0)
|
||||
|
@ -6961,7 +6961,7 @@ void Streams__write_as_UTF8_string(char *C_string, text_stream *stream, int buff
|
|||
}
|
||||
|
||||
#line 599 "inweb/foundation-module/Chapter 2/Streams.w"
|
||||
int Streams__open_from_locale_string(text_stream *stream, char *C_string) {
|
||||
int Streams__open_from_locale_string(text_stream *stream, const char *C_string) {
|
||||
if (Locales__get(SHELL_LOCALE) == FILE_ENCODING_ISO_STRF)
|
||||
return Streams__open_from_UTF8_string(stream, C_string);
|
||||
if (Locales__get(SHELL_LOCALE) == FILE_ENCODING_UTF8_STRF)
|
||||
|
@ -10259,25 +10259,25 @@ text_stream *Str__duplicate(text_stream *E) {
|
|||
}
|
||||
|
||||
#line 73 "inweb/foundation-module/Chapter 4/String Manipulation.w"
|
||||
text_stream *Str__new_from_wide_string(wchar_t *C_string) {
|
||||
text_stream *Str__new_from_wide_string(const wchar_t *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams__open_from_wide_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str__new_from_ISO_string(char *C_string) {
|
||||
text_stream *Str__new_from_ISO_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams__open_from_ISO_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str__new_from_UTF8_string(char *C_string) {
|
||||
text_stream *Str__new_from_UTF8_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams__open_from_UTF8_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str__new_from_locale_string(char *C_string) {
|
||||
text_stream *Str__new_from_locale_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams__open_from_locale_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
|
@ -10935,7 +10935,7 @@ unicode_file_buffer TextFiles__create_ufb(void) {
|
|||
return ufb;
|
||||
}
|
||||
|
||||
int TextFiles__utf8_fgetc(FILE *from, char **or_from, int escape_oddities,
|
||||
int TextFiles__utf8_fgetc(FILE *from, const char **or_from, int escape_oddities,
|
||||
unicode_file_buffer *ufb) {
|
||||
int c = EOF, conts;
|
||||
if ((ufb) && (ufb->ufb_counter >= 0)) {
|
||||
|
|
|
@ -471,7 +471,7 @@ by a C string. First, a wide string (a sequence of 32-bit Unicode code
|
|||
points, null terminated):
|
||||
|
||||
=
|
||||
int Streams::open_from_wide_string(text_stream *stream, wchar_t *c_string) {
|
||||
int Streams::open_from_wide_string(text_stream *stream, const wchar_t *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) wcslen(c_string)):0;
|
||||
@<Ensure a capacity large enough to hold the initial string in one frame@>;
|
||||
|
@ -479,7 +479,7 @@ int Streams::open_from_wide_string(text_stream *stream, wchar_t *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams::write_wide_string(text_stream *stream, wchar_t *c_string) {
|
||||
void Streams::write_wide_string(text_stream *stream, const wchar_t *c_string) {
|
||||
for (int i=0; c_string[i]; i++) Streams::putc(c_string[i], stream);
|
||||
}
|
||||
|
||||
|
@ -487,7 +487,7 @@ void Streams::write_wide_string(text_stream *stream, wchar_t *c_string) {
|
|||
page of the Unicode set, null terminated):
|
||||
|
||||
=
|
||||
int Streams::open_from_ISO_string(text_stream *stream, char *c_string) {
|
||||
int Streams::open_from_ISO_string(text_stream *stream, const char *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) strlen(c_string)):0;
|
||||
@<Ensure a capacity large enough to hold the initial string in one frame@>;
|
||||
|
@ -495,14 +495,14 @@ int Streams::open_from_ISO_string(text_stream *stream, char *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams::write_ISO_string(text_stream *stream, char *c_string) {
|
||||
void Streams::write_ISO_string(text_stream *stream, const char *c_string) {
|
||||
for (int i=0; c_string[i]; i++) Streams::putc(c_string[i], stream);
|
||||
}
|
||||
|
||||
@ Finally, a UTF-8 encoded C string:
|
||||
|
||||
=
|
||||
int Streams::open_from_UTF8_string(text_stream *stream, char *c_string) {
|
||||
int Streams::open_from_UTF8_string(text_stream *stream, const char *c_string) {
|
||||
if (stream == NULL) internal_error("tried to open NULL stream");
|
||||
int capacity = (c_string)?((int) strlen(c_string)):0;
|
||||
@<Ensure a capacity large enough to hold the initial string in one frame@>;
|
||||
|
@ -510,7 +510,7 @@ int Streams::open_from_UTF8_string(text_stream *stream, char *c_string) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void Streams::write_UTF8_string(text_stream *stream, char *c_string) {
|
||||
void Streams::write_UTF8_string(text_stream *stream, const char *c_string) {
|
||||
unicode_file_buffer ufb = TextFiles::create_ufb();
|
||||
int c;
|
||||
while ((c = TextFiles::utf8_fgetc(NULL, &c_string, FALSE, &ufb)) != 0)
|
||||
|
@ -596,7 +596,7 @@ void Streams::write_as_UTF8_string(char *C_string, text_stream *stream, int buff
|
|||
@h Locale versions.
|
||||
|
||||
=
|
||||
int Streams::open_from_locale_string(text_stream *stream, char *C_string) {
|
||||
int Streams::open_from_locale_string(text_stream *stream, const char *C_string) {
|
||||
if (Locales::get(SHELL_LOCALE) == FILE_ENCODING_ISO_STRF)
|
||||
return Streams::open_from_UTF8_string(stream, C_string);
|
||||
if (Locales::get(SHELL_LOCALE) == FILE_ENCODING_UTF8_STRF)
|
||||
|
|
|
@ -70,25 +70,25 @@ with the capacity of the initial block large enough to hold the whole
|
|||
thing plus a little extra, for efficiency's sake.
|
||||
|
||||
=
|
||||
text_stream *Str::new_from_wide_string(wchar_t *C_string) {
|
||||
text_stream *Str::new_from_wide_string(const wchar_t *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams::open_from_wide_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str::new_from_ISO_string(char *C_string) {
|
||||
text_stream *Str::new_from_ISO_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams::open_from_ISO_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str::new_from_UTF8_string(char *C_string) {
|
||||
text_stream *Str::new_from_UTF8_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams::open_from_UTF8_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
text_stream *Str::new_from_locale_string(char *C_string) {
|
||||
text_stream *Str::new_from_locale_string(const char *C_string) {
|
||||
text_stream *S = CREATE(text_stream);
|
||||
if (Streams::open_from_locale_string(S, C_string)) return S;
|
||||
return NULL;
|
||||
|
|
|
@ -223,7 +223,7 @@ unicode_file_buffer TextFiles::create_ufb(void) {
|
|||
return ufb;
|
||||
}
|
||||
|
||||
int TextFiles::utf8_fgetc(FILE *from, char **or_from, int escape_oddities,
|
||||
int TextFiles::utf8_fgetc(FILE *from, const char **or_from, int escape_oddities,
|
||||
unicode_file_buffer *ufb) {
|
||||
int c = EOF, conts;
|
||||
if ((ufb) && (ufb->ufb_counter >= 0)) {
|
||||
|
|
Loading…
Reference in a new issue