File: mystrncat.c

package info (click to toggle)
splint 1%3A3.1.2%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 21,004 kB
  • sloc: ansic: 150,869; yacc: 3,465; sh: 3,034; makefile: 2,157; lex: 412
file content (18 lines) | stat: -rw-r--r-- 422 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void  mystrncat (/*@unique@*/ /*@returned@*/ char *s1, char *s2, size_t n)
     /*@modifies *s1@*/ /*@requires MaxSet(s1) >= ( MaxRead(s1) + n); @*/
     /*@ensures MaxRead(result) >= (MaxRead(s1) + n); @*/;

     void func(char *str)
{
  char buffer[256];
  char *b;

  b = malloc(256);
  assert(b != NULL);
  mystrncat(buffer, str, sizeof(buffer) - 1);
  mystrncat(b, str, sizeof(buffer) - 1);

  free (b);
  return;
}