summaryrefslogtreecommitdiff
path: root/community/bsd-games/number.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'community/bsd-games/number.c.diff')
-rw-r--r--community/bsd-games/number.c.diff156
1 files changed, 0 insertions, 156 deletions
diff --git a/community/bsd-games/number.c.diff b/community/bsd-games/number.c.diff
deleted file mode 100644
index 1acbeff30..000000000
--- a/community/bsd-games/number.c.diff
+++ /dev/null
@@ -1,156 +0,0 @@
---- bsdgames-2.17.orig/number/number.c
-+++ bsdgames-2.17/number/number.c
-@@ -78,9 +78,9 @@
-
- void convert(char *);
- int main(int, char *[]);
--int number(const char *, int);
--void pfract(int);
--int unit(int, const char *);
-+int number(const char *, int, int *);
-+void pfract(int, int);
-+int unit(int, const char *, int *);
- void usage(void) __attribute__((__noreturn__));
-
- int lflag;
-@@ -131,7 +131,7 @@
- convert(line)
- char *line;
- {
-- int flen, len, rval;
-+ int flen, len, rval, singular;
- char *p, *fraction;
-
- flen = 0;
-@@ -174,7 +174,7 @@
- --len;
- }
-
-- rval = len > 0 ? unit(len, line) : 0;
-+ rval = len > 0 ? unit(len, line, &singular) : 0;
- if (fraction != NULL && flen != 0)
- for (p = fraction; *p != '\0'; ++p)
- if (*p != '0') {
-@@ -182,10 +182,10 @@
- (void)printf("%sand%s",
- lflag ? " " : "",
- lflag ? " " : "\n");
-- if (unit(flen, fraction)) {
-+ if (unit(flen, fraction, &singular)) {
- if (lflag)
- (void)printf(" ");
-- pfract(flen);
-+ pfract(flen, singular);
- rval = 1;
- }
- break;
-@@ -197,9 +197,10 @@
- }
-
- int
--unit(len, p)
-+unit(len, p, singular)
- int len;
- const char *p;
-+ int *singular;
- {
- int off, rval;
-
-@@ -208,7 +209,7 @@
- if (len % 3) {
- off = len % 3;
- len -= off;
-- if (number(p, off)) {
-+ if (number(p, off, singular)) {
- rval = 1;
- (void)printf(" %s%s",
- name3[len / 3], lflag ? " " : ".\n");
-@@ -217,14 +218,16 @@
- }
- for (; len > 3; p += 3) {
- len -= 3;
-- if (number(p, 3)) {
-+ if (number(p, 3, singular)) {
- rval = 1;
- (void)printf(" %s%s",
- name3[len / 3], lflag ? " " : ".\n");
- }
- }
- }
-- if (number(p, len)) {
-+ if (number(p, len, singular)) {
-+ if (rval)
-+ *singular = 0;
- if (!lflag)
- (void)printf(".\n");
- rval = 1;
-@@ -233,17 +236,20 @@
- }
-
- int
--number(p, len)
-+number(p, len, singular)
- const char *p;
- int len;
-+ int *singular;
- {
- int val, rval;
-
- rval = 0;
-+ *singular = 1;
- switch (len) {
- case 3:
- if (*p != '0') {
- rval = 1;
-+ *singular = 0;
- (void)printf("%s hundred", name1[*p - '0']);
- }
- ++p;
-@@ -262,33 +268,42 @@
- }
- rval = 1;
- }
-+ if (val != 1)
-+ *singular = 0;
- break;
- case 1:
- if (*p != '0') {
- rval = 1;
- (void)printf("%s", name1[*p - '0']);
- }
-+ if (*p != '1')
-+ *singular = 0;
- }
- return (rval);
- }
-
- void
--pfract(len)
-+pfract(len, singular)
- int len;
-+ int singular;
- {
- static const char *const pref[] = { "", "ten-", "hundred-" };
-
- switch(len) {
- case 1:
-- (void)printf("tenths.\n");
-+ (void)printf("tenth");
- break;
- case 2:
-- (void)printf("hundredths.\n");
-+ (void)printf("hundredth");
- break;
- default:
-- (void)printf("%s%sths.\n", pref[len % 3], name3[len / 3]);
-+ (void)printf("%s%sth", pref[len % 3], name3[len / 3]);
- break;
- }
-+ if (!singular) {
-+ printf("s");
-+ }
-+ printf(".\n");
- }
-
- void
-