All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Charles Coffing" <ccoffing@novell.com>
To: xen-devel@lists.sourceforge.net
Subject: [PATCH]  stand-alone build of sxpr parser
Date: Mon, 22 Nov 2004 11:30:26 -0700	[thread overview]
Message-ID: <s1a1cdde.010@sinclair.provo.novell.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 332 bytes --]

This patch applies to 2.0-testing.

It updates/fixes the stand-alone build of the S-expression parser, so
that it may be debugged more easily.  It makes no code changes to the
normal build.

>From tools/xfrd, you may do...
SXPR_DEBUG=1 make
...to get a version of xfrd solely meant to test the S-expression
parser.

Thanks,
Charles

[-- Attachment #2: sxpr_debug.patch --]
[-- Type: application/octet-stream, Size: 4032 bytes --]

===== tools/xfrd/Makefile 1.7 vs edited =====
--- 1.7/tools/xfrd/Makefile	2004-11-02 02:08:36 -07:00
+++ edited/tools/xfrd/Makefile	2004-11-22 11:25:58 -07:00
@@ -26,11 +26,15 @@
 # Define to use stubs, undefine to use the real Xen functions.
 #CPPFLAGS += -D _XEN_XFR_STUB_
 
+ifeq ($(SXPR_DEBUG),1)
+CPPFLAGS += -D _XEN_XFR_STUB_ -D SXPR_PARSER_MAIN
+endif
+
 CC := gcc
 
 CFLAGS += -g
 CFLAGS += -Wall
-CFALGS += -Werror
+CFLAGS += -Werror
 CFLAGS += $(INCLUDES)
 # Make gcc generate dependencies.
 CFLAGS += -Wp,-MD,.$(@F).d
===== tools/xfrd/debug.h 1.2 vs edited =====
--- 1.2/tools/xfrd/debug.h	2004-09-24 10:06:43 -06:00
+++ edited/tools/xfrd/debug.h	2004-11-22 10:48:36 -07:00
@@ -45,6 +45,7 @@
 #else
 
 #include <stdio.h>
+#include <unistd.h>
 
 #ifdef DEBUG
 
===== tools/xfrd/sxpr_parser.c 1.1 vs edited =====
--- 1.1/tools/xfrd/sxpr_parser.c	2004-07-07 09:54:46 -06:00
+++ edited/tools/xfrd/sxpr_parser.c	2004-11-22 11:15:19 -07:00
@@ -808,26 +808,13 @@
     return p->eof;
 }
 
-//#define SXPR_PARSER_MAIN
 #ifdef SXPR_PARSER_MAIN
 /* Stuff for standalone testing. */
 
 #include "file_stream.h"
 #include "string_stream.h"
 
-int stringof(Sxpr exp, char **s){
-    int err = 0;
-    if(ATOMP(exp)){
-        *s = atom_name(exp);
-    } else if(STRINGP(exp)){
-        *s = string_string(exp);
-    } else {
-        err = -EINVAL;
-        *s = NULL;
-    }
-    return err;
-}
-
+extern int stringof(Sxpr exp, char **s);
 int child_string(Sxpr exp, Sxpr key, char **s){
     int err = 0;
     Sxpr val = sxpr_child_value(exp, key, ONONE);
@@ -835,22 +822,7 @@
     return err;
 }
 
-int intof(Sxpr exp, int *v){
-    int err = 0;
-    char *s;
-    unsigned long l;
-    if(INTP(exp)){
-        *v = OBJ_INT(exp);
-    } else {
-        err = stringof(exp, &s);
-        if(err) goto exit;
-        err = convert_atoul(s, &l);
-        *v = (int)l;
-    }
- exit:
-    return err;
-}
-
+extern int intof(Sxpr exp, int *v);
 int child_int(Sxpr exp, Sxpr key, int *v){
     int err = 0;
     Sxpr val = sxpr_child_value(exp, key, ONONE);
===== tools/xfrd/xen_domain.c 1.20 vs edited =====
--- 1.20/tools/xfrd/xen_domain.c	2004-10-21 10:11:02 -06:00
+++ edited/tools/xfrd/xen_domain.c	2004-11-22 10:46:06 -07:00
@@ -83,7 +83,7 @@
     }
     
     dom = 99;
-    err = domain_suspend(dom, xend);
+    err = domain_suspend(xend, dom);
     IOStream_close(io);
   exit:
 #else 
===== tools/xfrd/xfrd.c 1.18 vs edited =====
--- 1.18/tools/xfrd/xfrd.c	2004-10-21 10:11:02 -06:00
+++ edited/tools/xfrd/xfrd.c	2004-11-22 11:10:58 -07:00
@@ -171,6 +171,25 @@
     exit(err ? 1 : 0);
 }
 
+typedef struct Args {
+    int bufsize;
+    unsigned long port;
+    int verbose;
+    int compress;
+} Args;
+
+/** Transfer states. */
+enum {
+    XFR_INIT,
+    XFR_HELLO,
+    XFR_STATE,
+    XFR_RUN,
+    XFR_FAIL,
+    XFR_DONE,
+    XFR_MAX
+};
+
+#ifndef SXPR_PARSER_MAIN
 /** Short options. Options followed by ':' take an argument. */
 static char *short_opts = (char[]){
     OPT_PORT,     ':',
@@ -190,23 +209,12 @@
     { NULL,         0,                 NULL, 0            }
 };
 
-typedef struct Args {
-    int bufsize;
-    unsigned long port;
-    int verbose;
-    int compress;
-} Args;
+/** Xfrd arguments. */
+static Args _args = {};
 
-/** Transfer states. */
-enum {
-    XFR_INIT,
-    XFR_HELLO,
-    XFR_STATE,
-    XFR_RUN,
-    XFR_FAIL,
-    XFR_DONE,
-    XFR_MAX
-};
+/** Xfrd arguments. */
+static Args *args = &_args;
+#endif
 
 /** Initialize an array element for a constant to its string name. */
 #define VALDEF(val) { val, #val }
@@ -318,12 +326,6 @@
     return s->err_state;
 }
 
-/** Xfrd arguments. */
-static Args _args = {};
-
-/** Xfrd arguments. */
-static Args *args = &_args;
-
 /** Set xfrd default arguments.
  *
  * @param args arguments to set
@@ -1212,6 +1214,7 @@
     return err;
 }
 
+#ifndef SXPR_PARSER_MAIN
 /** Parse command-line arguments and call the xfrd main program.
  *
  * @param arg argument count
@@ -1265,4 +1268,4 @@
     }
     return (err ? 1 : 0);
 }
-
+#endif

                 reply	other threads:[~2004-11-22 18:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s1a1cdde.010@sinclair.provo.novell.com \
    --to=ccoffing@novell.com \
    --cc=xen-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.