diff --git a/ChangeLog b/ChangeLog
index 7080d8af1f7eae68d67f98d112342ffdb4251554..75629d8c038382512273042419189c3685f648aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,10 @@ CVS code -
 - winio.c:
   get_input()
 	- Simplify to avoid an unnecessary key_buffer_len check. (DLR)
+- doc/syntax/c.nanorc:
+	- Add "size_t" and "ssize_t" to the types regexes. (DLR,
+	  suggested by Mike Frysinger)
+	- Simplify "signed" and "unsigned" in the types regexes. (DLR)
 
 GNU nano 1.9.99pre1 - 2006.08.29
 - General:
diff --git a/doc/syntax/c.nanorc b/doc/syntax/c.nanorc
index d0b8b1eecdcdd341b70721b6977f3ca59513191d..3980aed950fe5871e608dce362ad32168abc0866 100644
--- a/doc/syntax/c.nanorc
+++ b/doc/syntax/c.nanorc
@@ -2,8 +2,8 @@
 ##
 syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$"
 color brightred "\<[A-Z_][0-9A-Z_]+\>" 
-color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>"
-color green "\<(u_?)?int(8|16|32|64|ptr)_t\>"
+color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>"
+color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>"
 color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>"
 color brightyellow "\<(for|if|while|do|else|case|default|switch)\>"
 color brightyellow "\<(try|throw|catch|operator|new|delete)\>"