aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shishkin <virtuoso@slind.org>2010-10-22 13:35:47 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2010-10-22 13:35:47 +0200
commit54779a47e9fa7f85b2a2ff744b9121f31a7758a9 (patch)
treecac5bc9838528cad938c7ef3db0e7537e86981af
parent6722737ece4b8db3e30b53aef8f981f53db1621e (diff)
downloadbusybox-w32-54779a47e9fa7f85b2a2ff744b9121f31a7758a9.tar.gz
busybox-w32-54779a47e9fa7f85b2a2ff744b9121f31a7758a9.tar.bz2
busybox-w32-54779a47e9fa7f85b2a2ff744b9121f31a7758a9.zip
mount: code shrink (-81 bytes)
Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
-rw-r--r--util-linux/mount.c56
1 files changed, 15 insertions, 41 deletions
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 5e85f9986..3ac8ce093 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -775,78 +775,52 @@ static char *nfs_strerror(int status)
775 775
776static bool_t xdr_fhandle(XDR *xdrs, fhandle objp) 776static bool_t xdr_fhandle(XDR *xdrs, fhandle objp)
777{ 777{
778 if (!xdr_opaque(xdrs, objp, FHSIZE)) 778 return xdr_opaque(xdrs, objp, FHSIZE);
779 return FALSE;
780 return TRUE;
781} 779}
782 780
783static bool_t xdr_fhstatus(XDR *xdrs, fhstatus *objp) 781static bool_t xdr_fhstatus(XDR *xdrs, fhstatus *objp)
784{ 782{
785 if (!xdr_u_int(xdrs, &objp->fhs_status)) 783 if (!xdr_u_int(xdrs, &objp->fhs_status))
786 return FALSE; 784 return FALSE;
787 switch (objp->fhs_status) { 785 if (objp->fhs_status == 0)
788 case 0: 786 return xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle);
789 if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle))
790 return FALSE;
791 break;
792 default:
793 break;
794 }
795 return TRUE; 787 return TRUE;
796} 788}
797 789
798static bool_t xdr_dirpath(XDR *xdrs, dirpath *objp) 790static bool_t xdr_dirpath(XDR *xdrs, dirpath *objp)
799{ 791{
800 if (!xdr_string(xdrs, objp, MNTPATHLEN)) 792 return xdr_string(xdrs, objp, MNTPATHLEN);
801 return FALSE;
802 return TRUE;
803} 793}
804 794
805static bool_t xdr_fhandle3(XDR *xdrs, fhandle3 *objp) 795static bool_t xdr_fhandle3(XDR *xdrs, fhandle3 *objp)
806{ 796{
807 if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, 797 return xdr_bytes(xdrs, (char **)&objp->fhandle3_val,
808 (unsigned int *) &objp->fhandle3_len, 798 (unsigned int *) &objp->fhandle3_len,
809 FHSIZE3) 799 FHSIZE3);
810 ) {
811 return FALSE;
812 }
813 return TRUE;
814} 800}
815 801
816static bool_t xdr_mountres3_ok(XDR *xdrs, mountres3_ok *objp) 802static bool_t xdr_mountres3_ok(XDR *xdrs, mountres3_ok *objp)
817{ 803{
818 if (!xdr_fhandle3(xdrs, &objp->fhandle)) 804 if (!xdr_fhandle3(xdrs, &objp->fhandle))
819 return FALSE; 805 return FALSE;
820 if (!xdr_array(xdrs, &(objp->auth_flavours.auth_flavours_val), 806 return xdr_array(xdrs, &(objp->auth_flavours.auth_flavours_val),
821 &(objp->auth_flavours.auth_flavours_len), 807 &(objp->auth_flavours.auth_flavours_len),
822 ~0, 808 ~0,
823 sizeof(int), 809 sizeof(int),
824 (xdrproc_t) xdr_int) 810 (xdrproc_t) xdr_int);
825 ) {
826 return FALSE;
827 }
828 return TRUE;
829} 811}
830 812
831static bool_t xdr_mountstat3(XDR *xdrs, mountstat3 *objp) 813static bool_t xdr_mountstat3(XDR *xdrs, mountstat3 *objp)
832{ 814{
833 if (!xdr_enum(xdrs, (enum_t *) objp)) 815 return xdr_enum(xdrs, (enum_t *) objp);
834 return FALSE;
835 return TRUE;
836} 816}
837 817
838static bool_t xdr_mountres3(XDR *xdrs, mountres3 *objp) 818static bool_t xdr_mountres3(XDR *xdrs, mountres3 *objp)
839{ 819{
840 if (!xdr_mountstat3(xdrs, &objp->fhs_status)) 820 if (!xdr_mountstat3(xdrs, &objp->fhs_status))
841 return FALSE; 821 return FALSE;
842 switch (objp->fhs_status) { 822 if (objp->fhs_status == MNT_OK)
843 case MNT_OK: 823 return xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo);
844 if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
845 return FALSE;
846 break;
847 default:
848 break;
849 }
850 return TRUE; 824 return TRUE;
851} 825}
852 826