summaryrefslogtreecommitdiff
path: root/libguile/strop.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/strop.c')
-rw-r--r--libguile/strop.c43
1 files changed, 14 insertions, 29 deletions
diff --git a/libguile/strop.c b/libguile/strop.c
index 4c40c7d36..49302167c 100644
--- a/libguile/strop.c
+++ b/libguile/strop.c
@@ -375,21 +375,13 @@ SCM_DEFINE (scm_string_upcase_x, "string-upcase!", 1, 0, 0,
"@end example")
#define FUNC_NAME s_scm_string_upcase_x
{
- register long k;
- register unsigned char *cs;
- SCM_ASRTGO (SCM_NIMP (v), badarg1);
- k = SCM_LENGTH (v);
- switch SCM_TYP7
- (v)
- {
- case scm_tc7_string:
- cs = SCM_UCHARS (v);
- while (k--)
- cs[k] = scm_upcase(cs[k]);
- break;
- default:
- badarg1:SCM_WTA (1,v);
- }
+ unsigned long k;
+
+ SCM_VALIDATE_STRING (1, v);
+
+ for (k = 0; k < SCM_LENGTH (v); ++k)
+ SCM_STRING_UCHARS (v) [k] = scm_upcase (SCM_STRING_UCHARS (v) [k]);
+
return v;
}
#undef FUNC_NAME
@@ -417,20 +409,13 @@ SCM_DEFINE (scm_string_downcase_x, "string-downcase!", 1, 0, 0,
"@end example")
#define FUNC_NAME s_scm_string_downcase_x
{
- register long k;
- register unsigned char *cs;
- SCM_ASRTGO (SCM_NIMP (v), badarg1);
- k = SCM_LENGTH (v);
- switch (SCM_TYP7(v))
- {
- case scm_tc7_string:
- cs = SCM_UCHARS (v);
- while (k--)
- cs[k] = scm_downcase(cs[k]);
- break;
- default:
- badarg1:SCM_WTA (1,v);
- }
+ unsigned long k;
+
+ SCM_VALIDATE_STRING (1, v);
+
+ for (k = 0; k < SCM_LENGTH (v); ++k)
+ SCM_STRING_UCHARS (v) [k] = scm_downcase (SCM_STRING_UCHARS (v) [k]);
+
return v;
}
#undef FUNC_NAME