mstringnn.c

mstringnn.c

typedef /*@abstract@*/ /*@null@*/ char *mstring;
 
static mstring mstring_createNew (int x) ;
 
mstring mstring_space1 (void)
{
  mstring m = mstring_createNew (1);
 
  /* error, since m could be NULL */
  *m = ' '; *(m + 1) = '\0';
  return m;
}
 
static /*@notnull@*/ mstring mstring_createNewNN (int x) ;
 
mstring mstring_space2 (void)
{
  mstring m = mstring_createNewNN (1);
 
  /* no error, because of notnull annotation */
  *m = ' '; *(m + 1) = '\0';
  return m;
}