//
// aegis - project change supervisor
// Copyright (C) 2002, 2004-2006, 2008 Peter Miller
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// .
//
#include
#include
#include
#include
string_ty *
str_capitalize(string_ty *s)
{
static stracc_t sa;
size_t j;
int prev_was_alpha;
language_human();
prev_was_alpha = 0;
sa.clear();
for (j = 0; j < s->str_length; ++j)
{
char c;
c = s->str_text[j];
if (islower(c))
{
if (!prev_was_alpha)
c = toupper(c);
prev_was_alpha = 1;
}
else if (isupper(c))
{
if (prev_was_alpha)
c = tolower(c);
prev_was_alpha = 1;
}
else
prev_was_alpha = 0;
sa.push_back(c);
}
language_C();
return sa.mkstr();
}