1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
*** unsq.c.bak Tue Jan 25 21:32:18 1994
--- unsq.c Tue Dec 16 19:08:44 1997
***************
*** 49,54 ****
--- 49,55 ----
*/
#include <stdio.h>
+ #include <string.h>
#include "msgs.h"
#ifdef __STDC__
***************
*** 99,104 ****
--- 100,107 ----
register char * prevp;
register int same_count;
register int count_char;
+ int wsize;
+ char *s;
count_char = getchar ();
if (count_char == EOF)
***************
*** 114,126 ****
}
prevp = prev;
wordp = word;
! while (same_count--)
*wordp++ = (*prevp++);
! if (gets (wordp) == NULL)
{
(void) fprintf (stderr, UNSQ_C_SURPRISE_EOF);
exit (1);
}
(void) strcpy (prev, word);
return 0 ;
}
--- 117,134 ----
}
prevp = prev;
wordp = word;
! wsize = 257;
! while (same_count--) {
*wordp++ = (*prevp++);
! wsize--;
! }
! if (fgets (wordp, wsize, stdin) == NULL)
{
(void) fprintf (stderr, UNSQ_C_SURPRISE_EOF);
exit (1);
}
+ if ((s = strchr(wordp, '\n')) != NULL)
+ *s = '\0';
(void) strcpy (prev, word);
return 0 ;
}
|