I have the following Slick-C code to generate changelog entries for me. The issue I am having is that I keep getting an Invalid Expression error at _str changeLogFileNames[] = { "Changelog", "ChangeLog" };
What am I doing wrong?
// MIT/X11 Licensed
//
#define NAME "Ivan N. Zlatev"
#define EMAIL "----"
_command void insert_changelog_entry () name_info(',')
{
_str changeLogFileNames[] = { "Changelog", "ChangeLog" };
_str changeLogFileName = null;
for (int i=0; i < changeLogFileNames._length (); i++) {
if (file_exists (changeLogFileNames[i]) {
changeLogFileName = changeLogFileNames[i];
break;
}
}
if (changeLogFileName != null) {
_str currentFileName = get_current_buffer_filename ();
edit (changeLogFileName);
_undo ('S');
_GoToROffset (0);
_insert_text (get_changelog_date () :+ " " :+ NAME :+ " " :+ EMAIL);
_insert_text (p_newline :+ p_newline);
_insert_text ("\t* " :+ currentFileName :+ ": ");
push_bookmark ();
_insert_text (p_newline :+ p_newline);
pop_bookmark ();
}
}
static _str get_current_buffer_filename ()
{
return strip_filename (p_buf_name,'DP');
}
// formats to yyyy-mm-dd
//
static _str get_changelog_date ()
{
_str date = _date ("U"); // mm/dd/yyyy
_str month, day, year;
int day_pos, year_pos;
if (strcmp (substr (date, 2, 1), "/") == 0) { // single digit month
month = "0" :+ substr (date, 1, 1);
day_pos = 3;
} else {
month = substr (date, 1, 2);
day_pos = 4;
}
if (strcmp (substr (date, day_pos + 1, 1), "/") == 0) { // single digit day
day = "0" :+ substr (date, day_pos, 1);
year_pos = day_pos + 2;
} else {
day = substr (date, day_pos, 2);
year_pos = day_pos + 3;
}
year = substr (date, year_pos, 4);
return (year :+ "-" :+ month :+ "-" :+ day);
}