Sponsored Content
Top Forums Shell Programming and Scripting Find global variables, c source Post 302615391 by Corona688 on Thursday 29th of March 2012 12:22:01 PM
Old 03-29-2012
This works, but also finds function declarations:

Code:
# Strip out preprocessor statements, remove all comments
<mycode.c sed '/^#/d;s#//.*$##;s#/\*.*\*/##g;#/\*#,#\*/#d' |
# Flatten all remaining whitespace
        tr -s '[ \r\n\t]' ' ' |
# Put new newlines where appropriate
        sed 's/\([{}]\) /\n\0\n/g;s/; */;\n/g' |
# Count brackets, find lines beginning with 'int'
        awk '/{/ { B++; }; /}/ { B-- };  (!B) && /^((static|extern|const) )*int/'

...and since you can declare functions and variables in the same statement, that's going to be very hard to prevent...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl global variables

Can someone give me "the lecture" on why you shouldn't make all your varables global when programming in perl. I have been doing this but I have heard that it is not a good practice. (3 Replies)
Discussion started by: reggiej
3 Replies

2. Programming

global variables in KLD (FreeBSD)

Hello dear BSD hackers, how can I define and then make visible some variables that I define in KLD (BSD) for other part of Kernel or other KLD's ? if i declare for example the varibale out of load-function of KLD , the name of this variable isn't export to symbol-table and the variable can... (0 Replies)
Discussion started by: int80h
0 Replies

3. BSD

Declaring Global Variables in KLD

Hello, how can I define a global variables in KLD? I would like to define some variables in my KLD and then would like to use them from other KLD. Thanx (1 Reply)
Discussion started by: int80h
1 Replies

4. Shell Programming and Scripting

Problem with global and local variables

Guys, how can I define global variables in sorlaris...cause I lose the values outside the scope. Rite now wat I do is,I redirect variable value to a file n then get it back outside the function...:o....theres obviously a better way of doing this...I now this is a basic question....but please... (2 Replies)
Discussion started by: qzv2jm
2 Replies

5. UNIX for Dummies Questions & Answers

global variables

Hi, I hav created a script that calls a sub-script. In both the scripts i called the configuration file. Now i wanted to use a variable that should be used in both script and sub-script files. Actually, i wanted to return a file name and the return status to the script file from the sub-script.... (6 Replies)
Discussion started by: Swapna173
6 Replies

6. Programming

global variables and dynamic allocation

Hi, is it possible in C to allocate dynamically a global variable?? (3 Replies)
Discussion started by: littleboyblu
3 Replies

7. Solaris

How to access ENV variables of non global zones in global zone???

Hi Guys, My requirement is I have file called /opt/orahome/.profile in non global zone. PATH=/usr/bin:/usr/ucb:/etc:/usr/sbin:/usr/local/bin:/usr/openwin/bin:. export PATH PS1="\${ORACLE_SID}:`hostname`:\$PWD$ " export PS1 EDITOR=vi export EDITOR ENV=/opt/orahome/.kshrc export ENV... (1 Reply)
Discussion started by: vijaysachin
1 Replies

8. Shell Programming and Scripting

Function ignoring global variables

Hi there. I'm writing a function to which I want to pass a global variable. For some reason, it's ignoring the variable. #!/bin/bash ##################################### #Variable Declaration ##################################### CURPATH=`dirname $0` DEEP=$CURPATH/depth.txt export... (4 Replies)
Discussion started by: mikesimone
4 Replies

9. Shell Programming and Scripting

[PHP] Need help with making variables Global

I have made a script that requires another php script for functions. I need a way so that the required script can read and write the main script's variables. Best Regards, John Wei ---------- Post updated at 08:54 AM ---------- Previous update was at 08:40 AM ---------- Sorry Guys, EDIT: my... (1 Reply)
Discussion started by: johntzwei
1 Replies

10. UNIX for Dummies Questions & Answers

Global variables in perl

hi all, i need a help for the following query. Thanks in advance for your valuable time. i have a main.pl file which has a global variable declared as below. our myVar=0; call first.pl script from the main.pl script. print the value of myVar (the value is still 0 and not 10.) i have a... (1 Reply)
Discussion started by: hemalathak10
1 Replies
LINT(1) 						      General Commands Manual							   LINT(1)

NAME
lint - a C program verifier SYNOPSIS
lint [ -abchnpuvx ] file ... DESCRIPTION
Lint attempts to detect features of the C program files which are likely to be bugs, or non-portable, or wasteful. It also checks the type usage of the program more strictly than the compilers. Among the things which are currently found are unreachable statements, loops not entered at the top, automatic variables declared and not used, and logical expressions whose value is constant. Moreover, the usage of functions is checked to find functions which return values in some places and not in others, functions called with varying numbers of argu- ments, and functions whose values are not used. By default, it is assumed that all the files are to be loaded together; they are checked for mutual compatibility. Function definitions for certain libraries are available to lint; these libraries are referred to by a conventional name, such as `-lm', in the style of ld(1). Any number of the options in the following list may be used. The -D, -U, and -I options of cc(1) are also recognized as separate argu- ments. p Attempt to check portability to the IBM and GCOS dialects of C. h Apply a number of heuristic tests to attempt to intuit bugs, improve style, and reduce waste. b Report break statements that cannot be reached. (This is not the default because, unfortunately, most lex and many yacc outputs produce dozens of such comments.) v Suppress complaints about unused arguments in functions. x Report variables referred to by extern declarations, but never used. a Report assignments of long values to int variables. c Complain about casts which have questionable portability. u Do not complain about functions and variables used and not defined, or defined and not used (this is suitable for running lint on a subset of files out of a larger program). n Do not check compatibility against the standard library. Exit(2) and other functions which do not return are not understood; this causes various lies. Certain conventional comments in the C source will change the behavior of lint: /*NOTREACHED*/ at appropriate points stops comments about unreachable code. /*VARARGSn*/ suppresses the usual checking for variable numbers of arguments in the following function declaration. The data types of the first n arguments are checked; a missing n is taken to be 0. /*NOSTRICT*/ shuts off strict type checking in the next expression. /*ARGSUSED*/ turns on the -v option for the next function. /*LINTLIBRARY*/ at the beginning of a file shuts off complaints about unused functions in this file. FILES
/usr/lib/lint[12] programs /usr/lib/llib-lc declarations for standard functions /usr/lib/llib-port declarations for portable functions SEE ALSO
cc(1) S. C. Johnson, Lint, a C Program Checker LINT(1)
All times are GMT -4. The time now is 02:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy