From 8dfc66bf0a1d1a2f6f9ebbbfe2dd4eef81e8f612 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 22 Apr 2003 21:44:24 +0200
Subject: [PATCH] * nettle.texinfo (Example): Use @verbatiminclude to include
 the example program.

* sha-example.c: Example program, for inclusion in the manual.

Rev: src/nettle/ChangeLog:1.190
Rev: src/nettle/nettle.texinfo:1.22
Rev: src/nettle/sha-example.c:1.1
---
 ChangeLog      |  7 +++++++
 nettle.texinfo | 45 +--------------------------------------------
 sha-example.c  | 44 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 44 deletions(-)
 create mode 100644 sha-example.c

diff --git a/ChangeLog b/ChangeLog
index fb6e060f..6b939b6e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2003-04-22  Niels M�ller  <nisse@cuckoo.hack.org>
+
+	* nettle.texinfo (Example): Use @verbatiminclude to include the
+	example program.
+
+	* sha-example.c: Example program, for inclusion in the manual.
+
 2003-04-14  Niels M�ller  <niels@s3.kth.se>
 
 	* x86/aes-encrypt.asm (nettle_aes_encrypt): Fixed references to
diff --git a/nettle.texinfo b/nettle.texinfo
index eaca385a..7bb244d1 100644
--- a/nettle.texinfo
+++ b/nettle.texinfo
@@ -251,50 +251,7 @@ A simple example program that reads a file from standard in and writes
 its SHA1 checksum on standard output should give the flavor of Nettle.
 
 @example
-/* FIXME: This code is untested. */
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <nettle/sha.h>
-
-#define BUF_SIZE 1000
-
-static void
-display_hex(unsigned length, uint8_t *data)
-@{
-  static const char digits[16] = "0123456789abcdef";
-  unsigned i;
-
-  for (i = 0; i<length; i++)
-  @{
-    uint8_t byte = data[i];
-    printf("%c%c ", digits[(byte / 16) & 0xf], digits[byte & 0xf]);
-  @}
-@}
-
-int
-main(int argc, char **argv)
-@{
-  struct sha1_ctx ctx;
-  uint8_t buffer[BUF_SIZE];
-  uint8_t digest[SHA1_DIGEST_SIZE];
-  
-  sha1_init(&ctx);
-  for (;;)
-  @{
-    int done = fread(buffer, 1, sizeof(buffer), stdin);
-    if (done <= 0)
-      break;
-    sha1_update(&ctx, done, buf);
-  @}
-  if (ferror(stdin))
-    return EXIT_FAILURE;
-
-  sha1_digest(&ctx, SHA1_DIGEST_SIZE, digest);
-
-  display_hex(SHA1_DIGEST_SIZE, digest);
-  return EXIT_SUCCESS;  
-@}
+@verbatiminclude example.c
 @end example
 
 @node Reference, Nettle soup, Example, Top
diff --git a/sha-example.c b/sha-example.c
new file mode 100644
index 00000000..a4818460
--- /dev/null
+++ b/sha-example.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <nettle/sha.h>
+
+#define BUF_SIZE 1000
+
+static void
+display_hex(unsigned length, uint8_t *data)
+{
+  static const char digits[16] = "0123456789abcdef";
+  unsigned i;
+
+  for (i = 0; i<length; i++)
+  {
+    uint8_t byte = data[i];
+    printf("%c%c ", digits[(byte / 16) & 0xf], digits[byte & 0xf]);
+  }
+  printf("\n");
+}
+
+int
+main(int argc, char **argv)
+{
+  struct sha1_ctx ctx;
+  uint8_t buffer[BUF_SIZE];
+  uint8_t digest[SHA1_DIGEST_SIZE];
+  
+  sha1_init(&ctx);
+  for (;;)
+  {
+    int done = fread(buffer, 1, sizeof(buffer), stdin);
+    sha1_update(&ctx, done, buffer);
+    if (done < sizeof(buffer))
+      break;
+  }
+  if (ferror(stdin))
+    return EXIT_FAILURE;
+
+  sha1_digest(&ctx, SHA1_DIGEST_SIZE, digest);
+
+  display_hex(SHA1_DIGEST_SIZE, digest);
+  return EXIT_SUCCESS;  
+}
-- 
GitLab