[DRBD-cvs] user by phil; The code is still uggly, but now it seem...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Tue, 30 Mar 2004 12:01:15 +0200 (CEST)


DRBD CVS committal

Author  : phil
Project : drbd
Module  : user

Dir     : drbd/user


Modified Files:
      Tag: rel-0_7-branch
	drbdadm_adjust.c 


Log Message:
The code is still uggly, but now it seems to work...

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/user/Attic/drbdadm_adjust.c,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -3 -r1.1.2.11 -r1.1.2.12
--- drbdadm_adjust.c	30 Mar 2004 09:19:02 -0000	1.1.2.11
+++ drbdadm_adjust.c	30 Mar 2004 10:01:10 -0000	1.1.2.12
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdarg.h>
 
 #include "drbdadm.h"
 
@@ -104,7 +105,7 @@
   sn[l]=0;
   sprintf(scs," %*s%%[%c]\n",l,sn,name[l]);
 
-  if(fscanf(in,scs,uu)) {
+  if(fscanf(in,scs,uu)>0) {
     o=find_opt(base,name);
     if(o) o->mentioned=1;
     else rv=1;
@@ -175,6 +176,23 @@
   return rv;
 }
 
+int m_fscanf(FILE *stream,const char *fmt, ...)
+{
+  va_list ap;
+  int rv;
+
+  va_start(ap, fmt);
+  rv=vfscanf(stream,fmt,ap);
+  va_end(ap);
+
+  if(rv==0) {
+    fprintf(stderr,"fscanf() faild for fmt string: %s\n",fmt);
+  }
+
+  return rv;
+}
+
+
 int adm_adjust(struct d_resource* res,char* unused)
 {
   char* argv[20];
@@ -196,12 +214,12 @@
 
   in=m_popen(&pid,argv);
 
-  rv=fscanf(in,"Lower device: %*02d:%*02d   (%[^)])\n",str1);
+  rv=m_fscanf(in,"Lower device: %*02d:%*02d   (%[^)])\n",str1);
   if( (rv!=1) || strcmp(str1,res->me->disk)) {
     do_attach=1;
   }
 
-  rv=fscanf(in,"Meta device: %s   (%[^)])\n",str1,str2);
+  rv=m_fscanf(in,"Meta device: %s   (%[^)])\n",str1,str2);
   if(rv==1) {
     if(strcmp("internal",str1)==0) {
       if(strcmp("internal",res->me->meta_disk)) do_attach=1;
@@ -209,13 +227,13 @@
   }
   if(rv==2) {
     if(strcmp(str2,res->me->meta_disk)) do_attach=1;
-    rv=fscanf(in,"Meta index: %[0-9]\n",str1);
+    rv=m_fscanf(in,"Meta index: %[0-9]\n",str1);
     if(rv==1) {
       if(strcmp(str1,res->me->meta_index)) do_attach=1;
     }
   }
 
-  rv=fscanf(in,"Disk options%[:]\n",uu);
+  rv=m_fscanf(in,"Disk options%[:]\n",uu);
   if(rv==1) {
     do_resize |= check_opt_d(in,"size",1024,"KB",res->disk_options);
     do_attach |= check_opt_s(in,"on-io-error",res->disk_options);
@@ -231,25 +249,25 @@
     }
   }
 
-  rv=fscanf(in,"Local address: %[0-9.]:%s\n",str1,str2);
+  rv=m_fscanf(in,"Local address: %[0-9.]:%s\n",str1,str2);
   if(rv!=2 || strcmp(str1,res->me->address) || strcmp(str2,res->me->port) ) {
     do_connect=1;
   }
 
-  rv=fscanf(in,"Remote address: %[0-9.]:%s\n",str1,str2);
+  rv=m_fscanf(in,"Remote address: %[0-9.]:%s\n",str1,str2);
   if(rv!=2 || strcmp(str1,res->partner->address) ||
      strcmp(str2,res->partner->port) ) {
     do_connect=1;
   }
 
-  rv=fscanf(in,"Wire protocol: %1[ABC]\n",str1);
+  rv=m_fscanf(in,"Wire protocol: %1[ABC]\n",str1);
   if(rv!=1 || strcmp(str1,res->protocol) ) {
     do_connect=1;
   }
 
-  rv=fscanf(in,"Net options%[:]\n",uu);
+  rv=m_fscanf(in,"Net options%[:]\n",uu);
   if(rv==1) {
-    rv=fscanf(in," timeout = %lu.%lu sec (%[d]efault)\n",&ul1,&ul2,uu);
+    rv=m_fscanf(in," timeout = %lu.%lu sec (%[d]efault)\n",&ul1,&ul2,uu);
     o=find_opt(res->net_options,"timeout");
     if(o) {
       o->mentioned=1;
@@ -262,10 +280,11 @@
     do_connect |= check_opt_d(in,"ping-int",1,"sec",res->net_options);
     do_connect |= check_opt_d(in,"max-epoch-size",1,"",res->net_options);
     do_connect |= check_opt_d(in,"max-buffers",1,"",res->net_options);
+    do_connect |= check_opt_d(in,"sndbuf-size",1,"",res->net_options);
     do_connect |= complete(res->net_options);
   }
 
-  rv=fscanf(in,"Syncer options%[:]\n",uu);
+  rv=m_fscanf(in,"Syncer options%[:]\n",uu);
   if(rv==1) {
     do_syncer |= check_opt_d(in,"rate",1024,"KB/sec",res->sync_options);
     do_syncer |= check_opt_d(in,"group",1,"",res->sync_options);