Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 60812 Details for
Bug 95401
coreutils: seq lacks ordinal/hexidecimal output
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
seq - support "%o" and "%x" output formats
seq-hexord.patch (text/plain), 2.22 KB, created by
qube99
on 2005-06-07 17:25:39 UTC
(
hide
)
Description:
seq - support "%o" and "%x" output formats
Filename:
MIME Type:
Creator:
qube99
Created:
2005-06-07 17:25:39 UTC
Size:
2.22 KB
patch
obsolete
>diff -ur coreutils-5.2.1-old/src/seq.c coreutils-5.2.1/src/seq.c >--- coreutils-5.2.1-old/src/seq.c 2005-06-07 16:50:16.016210726 -0500 >+++ coreutils-5.2.1/src/seq.c 2005-06-07 17:10:44.853692544 -0500 >@@ -102,6 +102,7 @@ > INCREMENT is usually negative if FIRST is greater than LAST.\n\ > When given, the FORMAT argument must contain exactly one of\n\ > the printf-style, floating point output formats %e, %f, %g\n\ >+or one of the printf-style, integer output formats %o, %x\n\ > "), stdout); > printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); > } >@@ -126,11 +127,14 @@ > } > > /* Check whether the format string is valid for a single `double' >- argument. Return 0 if not, 1 if correct. */ >+ argument. Return 0 if not, 1 if correct, 2 if a conversion >+ to int is necessary. */ > > static int > valid_format (const char *fmt) > { >+ int end_return = 1; >+ > while (*fmt != '\0') > { > if (*fmt == '%') >@@ -158,7 +162,11 @@ > } > > if (!(*fmt == 'e' || *fmt == 'f' || *fmt == 'g')) >- return 0; >+ { >+ end_return = 2; >+ if (!(*fmt == 'o' || *fmt == 'x')) >+ return 0; >+ } > > fmt++; > while (*fmt != '\0') >@@ -173,13 +181,13 @@ > fmt++; > } > >- return 1; >+ return end_return; > } > > /* Actually print the sequence of numbers in the specified range, with the > given or default stepping and format. */ > static void >-print_numbers (const char *fmt) >+print_numbers (const char *fmt, int integerize) > { > double i; > >@@ -190,7 +198,10 @@ > break; > if (i) > fputs (separator, stdout); >- printf (fmt, x); >+ if (integerize) >+ printf (fmt, (int) x); >+ else >+ printf (fmt, x); > } > > if (i) >@@ -298,6 +309,7 @@ > main (int argc, char **argv) > { > int optc; >+ int valid_return; > int step_is_set; > > /* The printf(3) format used for output. */ >@@ -383,7 +395,7 @@ > usage (EXIT_FAILURE); > } > >- if (format_str && !valid_format (format_str)) >+ if (format_str && !(valid_return = valid_format (format_str))) > { > error (0, 0, _("invalid format string: `%s'"), format_str); > usage (EXIT_FAILURE); >@@ -426,7 +438,7 @@ > format_str = "%g"; > } > >- print_numbers (format_str); >+ print_numbers (format_str, valid_return - 1); > > exit (EXIT_SUCCESS); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 95401
: 60812