test_profile.c: Add usage message if not enough arguments
authorTheodore Tso <tytso@mit.edu>
Wed, 12 Jun 1996 05:29:43 +0000 (05:29 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 12 Jun 1996 05:29:43 +0000 (05:29 +0000)
prof_parse.c (dump_profile_to_file, dump_profile): Dump the profile
using the correct line terminator for Windows, Macintosh, etc.

prof_parse.c:
prof_file.c: Change _WINDOWS to _MSDOS, and add check for _WIN32.

prof_int.h: Add size #defines for _WIN32.  Handle prototypes correctly
for _WIN32.

prof_int.h: Added comment to profile state structure

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8318 dc483132-0cff-0310-8789-dd5450dbe970

src/util/profile/ChangeLog
src/util/profile/prof_file.c
src/util/profile/prof_int.h
src/util/profile/prof_parse.c
src/util/profile/profile.hin
src/util/profile/test_parse.c
src/util/profile/test_profile.c

index 209dace7e55b4ae54485dbdec8f8da3a1383a221..24a8fcbbaa23db4a49be7ba193cd99fa02d5c6ef 100644 (file)
@@ -1,3 +1,21 @@
+Mon Jun 10 17:35:02 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * test_profile.c: Add usage message if not enough arguments.
+
+       * prof_parse.c (dump_profile_to_file, dump_profile): Dump the
+               profile using the correct line terminator for Windows,
+               Macintosh, etc.
+
+       * prof_parse.c:
+       * prof_file.c: Change _WINDOWS to _MSDOS, and add check for _WIN32.
+
+       * prof_int.h: Add size #defines for _WIN32.  Handle prototypes
+               correctly for _WIN32.
+
+Fri Feb 16 15:18:17 1996    <tytso@rsts-11.mit.edu>
+
+       * prof_int.h: Added comment to profile state structure
+
 Wed Feb 14 16:43:48 1996    <tytso@rsts-11.mit.edu>
 
        * prof_parse.c (parse_std_line): Make parsing more flexible, so we
index 468de74a838783cee66261cea06e2ff5f4b3e946..f7bdaf85510e08a050b4cef4b43678592723fec8 100644 (file)
@@ -17,7 +17,7 @@
 #include <errno.h>
 
 
-#ifdef _WINDOWS
+#if defined(_MSDOS) || defined(_WIN32)
 #define stat _stat
 #endif
 
index 46a7d5a55141861add229bc5edb38b84d6aaa5d8..4fd122eee183e946475dc7e5e7c17d4d7093d840 100644 (file)
@@ -5,7 +5,7 @@
 #include <time.h>
 #include "prof_err.h"
 
-#if defined(__STDC__) || defined(_MSDOS)
+#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32)
 #define PROTOTYPE(x) x
 #else
 #define PROTOTYPE(x) ()
 #define SIZEOF_LONG     4
 #endif 
 
+#if defined(_WIN32)
+#define SIZEOF_INT      4
+#define SIZEOF_SHORT    2
+#define SIZEOF_LONG     4
+#endif
+
 #if defined(_MACINTOSH)
 #define NO_SYS_TYPES_H
 #define NO_SYS_STAT_H
@@ -31,6 +37,7 @@ typedef long errcode_t;
  */
 struct _prf_file_t {
        errcode_t       magic;
+       char    *comment;
        char    *filename;
        struct profile_node *root;
        time_t  timestamp;
index eed309df09165f88d22aac2eeacba6ae13c99cde..4d1382bc8e9a0cb9b7b85191e7c12541f2cf47ed 100644 (file)
@@ -198,7 +198,19 @@ errcode_t profile_parse_file(f, root)
        return 0;
 }
 
-#ifndef _WINDOWS
+#if defined(_MSDOS) || defined(_WIN32)
+#define EOL "\r\n"
+#endif
+
+#ifdef _MACINTOSH
+#define EOL "\r"
+#endif
+
+#ifndef EOL
+#define EOL "\n"
+#endif
+
+#if !defined(_MSDOS) && !defined(_WIN32)
 
 void dump_profile(root, level)
        struct profile_node *root;
@@ -218,7 +230,7 @@ void dump_profile(root, level)
                        break;
                for (i=0; i < level; i++)
                        printf("   ");
-               printf("%s = '%s'\n", name, value);
+               printf("%s = '%s'%s", name, value, EOL);
        } while (iter != 0);
 
        iter = 0;
@@ -229,11 +241,11 @@ void dump_profile(root, level)
                        break;
                for (i=0; i < level; i++)
                        printf("   ");
-               printf("[%s]\n", name);
+               printf("[%s]%s", name, EOL);
                dump_profile(p, level+1);
        } while (iter != 0);
 }
-#endif /* ! _WINDOWS */
+#endif /* !_MSDOS && !_WIN32 */
 
 
 void dump_profile_to_file(root, level, dstfile)
@@ -255,7 +267,7 @@ void dump_profile_to_file(root, level, dstfile)
                        break;
                for (i=0; i < level; i++)
                        fprintf(dstfile, "\t");
-               fprintf(dstfile, "%s = %s\r", name, value);
+               fprintf(dstfile, "%s = %s%s", name, value, EOL);
        } while (iter != 0);
 
        iter = 0;
@@ -267,17 +279,17 @@ void dump_profile_to_file(root, level, dstfile)
                if (level == 0) { /* [xxx] */
                        for (i=0; i < level; i++)
                                fprintf(dstfile, "\t");
-                       fprintf(dstfile, "[%s]\r", name);
+                       fprintf(dstfile, "[%s]%s", name, EOL);
                        dump_profile_to_file(p, level+1, dstfile);
-                       fprintf(dstfile, "\r");
+                       fprintf(dstfile, EOL);
                } else {        /* xxx = { ... } */
                        for (i=0; i < level; i++)
                                fprintf(dstfile, "\t");
-                       fprintf(dstfile, "%s = {\r", name);
+                       fprintf(dstfile, "%s = {%s", name, EOL);
                        dump_profile_to_file(p, level+1, dstfile);
                        for (i=0; i < level; i++)
                                fprintf(dstfile, "\t");
-                       fprintf(dstfile, "}\r");
+                       fprintf(dstfile, "}%s", EOL);
                }
        } while (iter != 0);
 }
index 80f7d37ca5751c52f8df23f57ce1c80972f3b2cd..e0fee5ba52c291d7c09eb9961336e5f8a67e473b 100644 (file)
@@ -5,7 +5,7 @@
 typedef struct _profile_t *profile_t;
 
 #if !defined(PROTOTYPE)
-#if defined(__STDC__) || defined(_MSDOS)
+#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32)
 #define PROTOTYPE(x) x
 #else
 #define PROTOTYPE(x) ()
index 3466154010ec8455fb2bcecf1822889027a5f0b4..463cde4da08b27773c7776e4035c5970c327f4e9 100644 (file)
@@ -49,12 +49,13 @@ int main(argc, argv)
        fclose(f);
        
        printf("\n\nDebugging dump.\n");
+#if 0
        dump_profile(root, 0);
-
-#if 1
-       profile_free_node(root);
 #else
        dump_profile_to_file(root, 0, stdout);
 #endif
+
+       profile_free_node(root);
+
        return 0;
 }
index 52acfbe708c36ce58d544fb800178d2fb5385019..b75c81f705d1dffcd22270d9dca42828d5fa0780 100644 (file)
@@ -31,6 +31,11 @@ int main(argc, argv)
     filenames[0] = argv[1];
     filenames[1] = 0;
 
+    if (argc < 2) {
+           fprintf(stderr, "Usage: %s filename argset\n", argv[0]);
+           exit(1);
+    }
+
     initialize_prof_error_table();
     
     retval = profile_init(filenames, &profile);